ruby - 打印我比。在 Ruby 中打印“#{i}?不将它添加到字符串中是否有区别?

标签 ruby

我对 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 xprint "#{x}" 是一样的

print 的参数不是字符串的将通过调用它们的 to_s 方法

进行转换

这意味着print xprint x.to_s相同,但是x.to_s相同” #{x}"(to_s应用于插值结果)

由于简洁,通常习惯不插值使用。但是,如果您想连接其他一些对象,请使用插值法(例如 print "#{x}#{y}")

关于ruby - 打印我比。在 Ruby 中打印“#{i}?不将它添加到字符串中是否有区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73680363/

相关文章:

ruby-on-rails - 在哪里放置可重用的方法以供 rails 中的 Controller 访问

ruby - 用于 ubuntu 10.04 的 Chef 独奏 Bootstrap

ruby-on-rails - 如何在 Rspec 助手中模拟 remote_ip?

ruby-on-rails - 获取表的更新时间 Ruby on Rails

ruby - 如何在两个已知点之间生成坐标

ruby - 删除 Ruby 数组中相邻的相同元素?

ruby - 将除英文字母和数字以外的所有字符替换为下划线

ruby-on-rails - 铁路上的 ruby 。我想显示所有待办事项列表及其关联的待办事项项目。我怎样才能做到这一点?

ruby - 基于多个键/值对的自定义哈希排序数组

Ruby 递归函数