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
Jordi Bunste.. 9
没关系,它们都是一样的.erb是纯粹的红宝石,eruby是用C语写的,所以它的速度要快一些.
erubis(第三个)是纯红宝石,比上面列出的更快.但我怀疑它的速度是你的瓶颈,所以只需使用erb.它是Ruby标准库的一部分.
没关系,它们都是一样的.erb是纯粹的红宝石,eruby是用C语写的,所以它的速度要快一些.
erubis(第三个)是纯红宝石,比上面列出的更快.但我怀疑它的速度是你的瓶颈,所以只需使用erb.它是Ruby标准库的一部分.