From: MoonWolf Date: 2003-07-24T02:42:30+09:00 Subject: [ruby-list:37966] Re: ERB の仕様 MoonWolfです。 erbscanの2003/07/23バージョンを公開します。 http://www.moonwolf.com/ruby/archive/erbscan-0.0.20030723b.tar.gz 変更点 * Ruby1.6.xに対応した。 * explicit_trimの書式を'/%>'から'-%>'に変更しました。erb_fast.rbのtrim_modeでは '-'で指定します。 * explicit_trimにインデント削除の仕様を追加しました。'<%-'と書くと 行頭から'<%-'までの空白、タブの連続を削除します。 空白、タブ以外の文字があった場合は、削除しません。 '<%-#','<%-='のような同時使用は出来ません。 こういうのが、 <% rows = [ %w(a b c), %w(x y z) ] %> % for row in rows % for value in row % end
<%=value%> % end
こう書けます。Rubyタグをインデントしても余計な空白、空行が出力されません。 <% rows = [ %w(a b c), %w(x y z) ] -%> <%- for row in rows -%> <%- for value in row -%> <%- end -%>
<%=value%> <%- end -%>
Ruby1.6.xではString#<<が遅いせいか、大規模なソースではコンパイル時間が erb_fast > erbと逆転する場合があります。Array#joinを使ったほうがいいのかな?