MoonWolfです。 Masatoshi SEKI wrote: >> 例1のような複数行の<%〜%>はtrimして、例2ではtrimしないということでよい >> ですか? > すみません。違います。 > 物理行に意味があります。 > > 「行頭が"<%", "<%=", "<%#"ではじまって"%>"で終わる一行」の改行を削除です。 > この例では例2だけ削除です。 ありゃ、そうなんですか。 例1の改行が削除されないとなると、 下のように書けたのが、 <% list.each do |item| value = hash[item] %> <li><%=value%></li> <% end %> こう書かなきゃいけないんですね。 <% list.each do |item| value = hash[item] %> <li><%=value%></li> <% end %> %でも書けるけど、スクリプトが複数行だと使いたくないかな〜。 % list.each do |item| % value = hash[item] <li><%=value%></li> % end >> これは実装の都合でしょうか? それとも仕様? > > 両方です。実装に都合のいい仕様じゃないかなあ。 > そのために<%# ... %>があるんだと思います。 > だめかしら。 <%#〜%>は<%〜%>全体をコメントアウトする為の仕様であって、行コメントとは 機能が違います。 仕様としては<%〜%>の中だけではなく、テキスト(地の文)にまで影響を受けるのが 良くないと思います。