松尾です。
今、仕事でERbを使ってます。eRubyでも(他の同様の技術で
も)同じだと思うのですがちょっと気になることがあって、
御相談させて下さい。
ERbを使うと出力結果に改行が多く含まれてしまい、なんと
なく間延びしてしまう時があります。そういう時、皆さんは
どうされているでしょうか。
例えば以下の様なスクリプトでeRubyテキストを変換させる
と。
---
aArray = ['1','2','3']
a = ERb.new(<<EOF)
ここから
<% aArray.each_index{|index| i = aArray[index]%>
aArray[<%=index%>] = <%=i%>
<%}%>
ここまで
EOF
a.run
---
を実行させると
---
ここから
aArray[0] = 1
aArray[1] = 2
aArray[2] = 3
ここまで
---
となります。間延びした感じが伝わるでしょうか? もちろん
工夫して、
---
aArray = ['1','2','3']
a = ERb.new(<<EOF)
ここから
<% aArray.each_index{|index| i = aArray[index]%>aArray[<%=index%>] =
<%=i%>
<%}%>ここまで
EOF
a.run
---
と書けば、出力結果は良い物が得られるのですが、eRubyテ
キストの方が読みにくくなります。この例ぐらい単純な物な
らこういう工夫も何とかできるのですが、複雑な物だと限界
があります。
HTMLならある程度表示系が何とかしてくれると思いますが、
人が読むテキストを生成させたい場合、困ってしまいます。
要するに、変換前テキスト、変換後テキストの両方を人が読
みやすい様にするためには、特に無駄な改行の処理をどうす
れば良いのか、ということです。
よろしくお願いします。
--
eRubyを変えるとしたら、「タグと空白だけが含まれた行の空
白、改行は、変換対象にならない」なんてのはどうかなぁ、
と考えました。