加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

哪个使用,eruby或erb?

发布时间:2020-12-17 03:57:20 所属栏目:百科 来源:网络整理
导读:e ruby和erb有什么区别?什么考虑会促使我选择其中一个? 我的应用程序是为网络设备(路由器,负载平衡器,防火墙等)生成配置文件.我的计划是模拟配置文件,使用源文件中的嵌入式ruby(通过eruby或erb)来执行迭代生成路由器的所有接口配置块(这些块都非常相似,仅
e ruby和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.0n"
}
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标准库的一部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读