松尾です。おはようございます。

Shugo Maeda wrote:

> おそらく、%>の後の改行を省略してほしい時というのは<%,%>内で出力を
> 行っていない時だけなのではないでしょうか。

なるほど。確かに僕は、<%,%>内で出力を全然行っていないですね。見直して
みると、全部<%=,%>でやってます。

考えるとこれは、僕が暗黙のうちに規定した基準なんでしょう。でもそうする
ことによって、非常に見通しが良いし、作りやすいと僕は感じています。


> ふと、思いついたのですが、PerlのHTML::Masonみたいに、
> 
> ・行頭の%でその行をRubyプログラムとみなす。
> 
> というのがあれば問題は解決するのかな。

これは*僕にとっては*解決になりません。JSPやASP、ePerlやアーキタイプ
(http://www.fujitsu.co.jp/hypertext/softinfo/product/use/compo/atp/index.html)
と同じような形(<%,%>及び<%=,%>)で書けるのが、重要な点の一つだからです。

--

m_seki / mva.biglobe.ne.jp wrote:

> ・「%>」直後の改行を print "\n" に変更せずに捨てるオプション
> ・行頭が「<%」などのeRubyタグ(?)ではじまって「%>」+改行で終るときに
>   改行を捨てるオプション
> 
> を追加した erb.rb を書いてみました。

ありがとうございました^^;


>         ERb.new(src, safe_level=nil, trim_mode=nil)
> 
> trim_mode == 1 のとき前者の挙動で、
> trim_mode == 2 のとき後者の挙動をします。

僕の場合、後者の挙動で今のところ不都合がなく、良いところばっかりです。
もちろん<%,%>の中で出力を行わない、というプログラミングスタイルに従っ
てのことですが、変換前変換後とも可読性(前は可記述性も)が非常に良いです。