var = 5
puts "Method #1: #{var}"
puts "Method #2: %d" % var
我正在寻找每种方法的优点和缺点,如果有的话。
答案 0 :(得分:3)
第一个是简单的字符串插值,第二个是Kernel#sprintf的语法糖。
使用第一个用于需要生成包含变量数据的字符串的情况。第二种方法更适用于需要进行专门格式化而不仅仅是将变量放入字符串中。第一个将有更好的性能,所以这样做,除非你需要专门的格式。
如果出现这种情况,"hello #{var}"
比"hello " + var
快得多。