gpt4 book ai didi

ruby - 奇怪的 Ruby 语法?

转载 作者:数据小太阳 更新时间:2023-10-29 08:15:12 25 4
gpt4 key购买 nike

我正在 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}!"

对比

puts "Hello " + name + "!"

我发现第一个更具可读性,尤其是在字符串中多次使用时。

还要考虑在第二个版本中省略“Hello”之后的空格是多么容易:

puts "Hello" + name + "!"

很容易写,但可能不是你想要的。

最后,当你插入的不是字符串时,它会产生更大的差异:

puts "The Winner was #{name} with a score of #{score}!"

顺便说一下,搜索“字符串插值”可能比仅仅搜索语法更容易找到东西。

关于ruby - 奇怪的 Ruby 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11639855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com