1
var = 5

puts "Method #1: #{var}"
puts "Method #2: %d" % var

I'm looking for advantages and drawbacks with each method, if there are at all.

4

1 回答 1

3

第一个是简单的字符串插值,而第二个是Kernel#sprintf的语法糖。

将第一个用于只需要生成包含变量数据的字符串的情况。当您需要进行专门的格式化时,第二个更好,而不仅仅是将变量放入字符串中。第一个将具有更好的性能,因此除非您需要专门的格式,否则请这样做。

而且它出现的情况下,"hello #{var}""hello " + var.

于 2012-05-09T03:23:13.583 回答