什么是eruby和erb之间的区别?选择其中一个的考虑因素是什么?
我的应用程序正在为网络设备(路由器、负载均衡器、防火墙等)生成配置文件。我的计划是使用嵌入式Ruby(通过eruby或erb)在源文件中模板化配置文件,以做一些事情,例如迭代生成路由器的所有接口配置块(这些块都非常相似,只有标签和IP地址不同)。例如,我可能会有一个类似于以下内容的配置模板文件:
当通过嵌入式Ruby解释器(即erb或eruby)运行时,将产生以下输出:
我的应用程序正在为网络设备(路由器、负载均衡器、防火墙等)生成配置文件。我的计划是使用嵌入式Ruby(通过eruby或erb)在源文件中模板化配置文件,以做一些事情,例如迭代生成路由器的所有接口配置块(这些块都非常相似,只有标签和IP地址不同)。例如,我可能会有一个类似于以下内容的配置模板文件:
hostname sample-router
<%=
r = String.new;
[
["GigabitEthernet1/1", "10.5.16.1"],
["GigabitEthernet1/2", "10.5.17.1"],
["GigabitEthernet1/3", "10.5.18.1"]
].each { |tuple|
r << "interface #{tuple[0]}\n"
r << " ip address #{tuple[1]} netmask 255.255.255.0\n"
}
r.chomp
%>
logging 10.5.16.26
当通过嵌入式Ruby解释器(即erb或eruby)运行时,将产生以下输出:
hostname sample-router
interface GigabitEthernet1/1
ip address 10.5.16.1 netmask 255.255.255.0
interface GigabitEthernet1/2
ip address 10.5.17.1 netmask 255.255.255.0
interface GigabitEthernet1/3
ip address 10.5.18.1 netmask 255.255.255.0
logging 10.5.16.26