# bad
full_name = first_name + ' <' + last_name + '>'
# good
full_name = "#{first_name} <#{last_name}>"
原因:使用 string interpolation 可以讓程式顯得更直觀。而且 +
會產生一堆不必要的 new object。
html << "<h2>Post Title </h2>"
原因:String#<<
比 String#+
速度快的多。而且 +
會產生一堆不必要的 new object。
name = "foobar"
string = "#{name}"
# => foobar
string = '#{name}'
# => #{name}
原因: 雖然 ' '
和 " "
都可以用來宣告字串。但" "
才有 string interpolation (double quote)效果。
有時候我們不避免的需要寫出這樣的 code
<%= "<div class=\"name\"> #{name} </div>" %>
雖然可以透過將 " "
換成 ' '
讓 code 不那麼粘膩。
<%= "<div class='name'> #{name} </div>" %>
但其實還有這一招使用 %()
,可以確保事情不會變得更加複雜。
<%= %(<div class="name">#{name}</div>) %>