eruby和erb有什么区别? 什么考虑会促使我选择其中一个?
我的应用程序是为网络设备(路由器,负载平衡器,防火墙等)生成配置文件。 我的计划是模拟配置文件,使用源文件中的嵌入式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