eruby 和 erb 有什么区别?哪些考虑因素会促使我选择其中之一?
我的应用程序正在为网络设备(路由器、负载平衡器、防火墙等)生成配置文件。我的计划是对配置文件进行模板化,在源文件中使用嵌入式 ruby(通过 eruby 或 erb)来执行诸如迭代生成路由器的所有接口(interface)配置 block 之类的操作(这些 block 都非常相似,仅在标签上有所不同和 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
最佳答案
没关系,它们都是一样的。 erb 是纯 ruby,eruby 是用 C 语言编写的,所以速度要快一些。
erubis(第三个)是纯 ruby ,比上面列出的两个都快。但我怀疑速度是你的瓶颈,所以就用 erb 吧。它是 Ruby 标准库的一部分。
关于ruby - 使用哪个,eruby 还是 erb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74782/