「%で始まる行」と「-T 2」
http://www.druby.org/ilikeruby/erbmore.html
を読んだら、「%ではじまる行」なるものを発見。
% 10.times do Hello % end
こんな風に書けて、しかも「空行が無駄に入る」問題が起こらない。が、しかしRailsのrhtmlの中では使えない模様(追記:ActionView::Base.erb_trim_modeを変更すれば使えます)。ガーン。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/18894
を読んでいたら、erbコマンドに「-T 2」を渡すと、無駄な改行を出力しないモードで実行できることを発見。
erb -T 2 hello.rtxt
「%で始まる記法」はerbコマンドのときはデフォルトで動作するけど、プログラム中でERB.newして使う場合は使えないみたい。第3引数(トリムモード)に'%'を設定すればONになる。
ruby -r erb -e "puts ERB.new(ARGF.read, nil, '%').result" hello.txt