3
這讓我完全困惑了一陣子。我收到了奇怪的行爲,試圖循環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。
大量來自The Grounded Rubyist,第10章的文本。 – Bohdan 2011-12-14 16:18:12