我正在 ruby-lang.org 上做 Ruby 20 分钟教程,我发现这段代码与 irb 混淆:
irb(main):015:0> def h(name)
irb(main):016:1> puts "Hello #{name}!"
irb(main):017:1> end
根据解释,#{name}
部分只是将变量添加到字符串中?我认为这是一种奇怪而冗长的写法,所以我想我会尝试一下"Hello" + name
它的工作方式完全相同..
我用谷歌搜索试图找到一个意义#{}
我找不到任何谈论它的内容,所以我想我应该问社区..有什么区别?有吗?
提前致谢!
有时使用+
更容易,但在这种情况下你省略了感叹号。考虑:
puts "Hello #{name}!"
vs.
puts "Hello " + name + "!"
我发现第一个更具可读性,特别是在字符串中多次使用时。
还要考虑一下在第二个版本中省略“Hello”后面的空格是多么容易:
puts "Hello" + name + "!"
很容易写,但可能不是你的意思。
最后,当您插入的不是字符串时,它会产生更大的差异:
puts "The Winner was #{name} with a score of #{score}!"
顺便说一句,搜索“字符串插值”可能比仅仅搜索语法更容易找到内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)