哪个使用,eruby或erb?

Bre*_*man 5 ruby eruby erb

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
Run Code Online (Sandbox Code Playgroud)

当通过嵌入式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
Run Code Online (Sandbox Code Playgroud)

Jor*_*ter 9

没关系,它们都是一样的.erb是纯粹的红宝石,eruby是用C语写的,所以它的速度要快一些.

erubis(第三个)是纯红宝石,比上面列出的更快.但我怀疑它的速度是你的瓶颈,所以只需使用erb.它是Ruby标准库的一部分.