Rails の View のようなテンプレートエンジンを ERB 単体で使う例。
詳しい説明はあちこちで見かけたのですが私が確認したかったポイントに絞ってみました。
#!/usr/bin/ruby require 'erb' erb_doc = <<EOS hello world 1 <% 1.upto(3) do |i| -%> <%= @hoge %>:<%= i %> <% end -%> hello world 2 EOS class MyTemplate def initialize @hoge = 123 end def result(script) ERB.new(script, nil, '-').result(binding) end end puts MyTemplate.new.result(erb_doc) # hello world 1 # 123:1 # 123:2 # 123:3 # hello world 2
- 11/23 追記:使用例