如何扩展Ruby ERB以处理%=标签?

时间:2010-07-22 17:24:20

标签: ruby metaprogramming erb

我正在使用ERB进行某些数学语言的元编程。如果我可以扩展ERB功能来处理%=标签,它将允许我显着简化我的源。我只想与<%= %>类似地获得该行的输出。我试图深入研究/usr/lib/ruby/1.9.1/erb.rb文件,但很快就迷路了。你可以帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

好吧,似乎我自己管理了它。如果您将代码保存在http://pastie.org/1056824(或http://gist.github.com/487297extended_erb.rb,然后在脚本中调用它...

require 'extended_erb'
puts ERB.new(File.read('mytemplate.erb'), 0, '%').result

或从命令行运行ERB ...

erb -r extended_erb  mytemplate.erb

然后是以下模板......

<%= 1 %>
%= 2

将产生所需的输出

1
2