これはしばらくの間私を完全に混乱させました。私は、ループが完了したときに、テキストの全行が印刷された状態で、erbのテキスト行をループさせようとしている奇妙な動作をしています。ERBはeach_lineループの最後にenitre文字列を表示します
<% "some\nmultiline\ntext".each_line do |line| %>
<%= line %> <br />
<% end %>
出力:
some
multiline
text
some multiline text
そして、そうする:
<% "some\nmultiline\ntext".lines.each do |line| %>
<%= line %> <br />
<% end %>
しかし、私はそれを期待するとして、次の作品:
<% "some\nmultiline\ntext".lines.to_a.each do |line| %>
<%= line %> <br />
<% end %>
と版画:
some
multiline
text
私はです。間違いなく=
に入れるだけでなく、です。この奇妙な行動の原因は何でしょうか?
私はRails 3.0.10、Ruby 1.9.2を使用しています。
よく練り上げられたRubyistのテキストのチャンク、第10章 – Bohdan