"" と""の違いについて

今更知りました…。


"<% -%>"で書くと、HTMLのソースに改行を出力しません。


一応サンプル

"<%%>" で書く

----
<%t = Time.now%>
<%if (6..11).include?(t.hour)%>
    おはようございます。
<%else%>
    こんにちは。
<%end%>
----

出力

----


こんにちは。

----

"<%-%>"で書く

----
<%t = Time.now-%>
<%if (6..11).include?(t.hour)-%>
    おはようございます。
<%else-%>
    こんにちは。
<%end-%>
----
出力
----
こんにちは。
----
確かに"<%%>"で書いてロジックとかいれるとソースはひどいことになるよなぁ。 まぁ、ソースなんて見るのは開発者か同業者くらいのもんでしょうけどね。