From: Masatoshi SEKI Date: 2003-07-20T11:38:35+09:00 Subject: [ruby-list:37898] Re: ERB の仕様 咳といいます。 > mputさんからerbscanのtrim_mode=2の挙動が違うという指摘がありました。 > > http://mput.dip.jp:8080/mput/?date=20030720#p02 > > erbscanは行頭の'<%'と対応する'%>'が行末にあった場合だけ、改行を > 出力しないようになっています。 > > ERBは行頭の'<%'と対応しない'%>'でも、改行を出力しないようになっています。 > 以下の例だと、1行目の行頭の'<%'が5行目の'%>'にまで影響しています。 > これは、trim_mode導入時に意図した動作とあっていますか? > 咳さん # trim_modeって松尾さんスペシャルな仕様だったんですよねー。 えっと、 行頭が<%で、行末が%>は改行を削除するつもりでした。 <% ... %>foo<% ... %>\n でも削除という意味です。 この仕様の是非については、全然主張はありません。 どっちがいいんですかねえ。 さっき試していて、%>foo<%...%>\nでも<%%.. %>\nでも削除しちゃうのを 見つけて直したところです。(CVS) 現在のところ、"<%", "<%=", "<%#"ではじまって"%>"で終わる時の改行を 削除しようと思っています。 CVS版(roughの方)はエスケープの挙動をerubyにそろえたつもりです。 もうちょっといろいろ試してみます。