我对 codeacademy 中的以下两个示例有点困惑,想很好地理解并知道:
- 两者有什么区别?
- 有什么时候我应该用一个代替另一个吗?
例如:
array = [1,2,3,4,5]
array.each do |x|
x += 10
print x #thats what I mean x only not "{x}" as below
end
array = [1,2,3,4,5]
array.each do |x|
x += 10
print "#{x}"
end
那是因为他们考虑将其添加为带有字符串的变量吗??
最佳答案
print x
和print "#{x}"
是一样的
print
的参数不是字符串的将通过调用它们的 to_s
方法
这意味着print x
与print x.to_s
相同,但是x.to_s
与相同” #{x}"
(to_s
应用于插值结果)
由于简洁,通常习惯不插值使用。但是,如果您想连接其他一些对象,请使用插值法(例如 print "#{x}#{y}"
)
关于ruby - 打印我比。在 Ruby 中打印“#{i}?不将它添加到字符串中是否有区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73680363/