Как расширить Ruby ERB для обработки тегов% =? - PullRequest
1 голос
/ 22 июля 2010

Я использую ERB для метапрограммирования некоторого математического языка. Если бы я мог расширить функциональность ERB для обработки тегов %=, это позволило бы мне значительно упростить мои источники. Я просто хочу получить вывод строки по аналогии с <%= %>. Я попытался покопаться в файле /usr/lib/ruby/1.9.1/erb.rb, но очень быстро заблудился. Может быть, вы можете помочь с этой проблемой?

1 Ответ

1 голос
/ 23 июля 2010

Ну, кажется, я справился сам.Если вы сохраните код в http://pastie.org/1056824 (или http://gist.github.com/487297) как extended_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
...