gpt4 book ai didi

Ruby 字符串插值运算符

转载 作者:太空宇宙 更新时间:2023-11-03 18:04:14 25 4
gpt4 key购买 nike

我正在研究 Ruby,并试图了解 #{} 操作的工作原理。

b = "puts \'Hello World\'"
r = "Testing .... #{b}"

运行此代码时,屏幕上不会打印任何内容。

但是这会打印到屏幕上

b = "puts \'Hello World\'"
r = "Testing .... #{puts 'Hello World'}"

为什么第二个示例打印到屏幕上而第一个没有。

谢谢

最佳答案

字符串插值(#{} 操作)将这些大括号之间的所有内容作为代码求值,并将执行返回的值转换为字符串,并将该字符串放在 #{

在第一个例子中,字符串r包含b,而b只是字符串"puts\'Hello World\'"。在这种情况下,"puts" 没有特殊含义,因为它只是一个字符串。所以在第一种情况下,r 变成:

"Testing .... #{"puts \'Hello World\'"}"

然后变成:

"Testing .... puts \'Hello World\'"

在第二个示例中,您将执行 puts 'Hello World' 的最终值包含在字符串 r 中。因为 puts 返回 nil,所以 r 变成了

"Testing .... #{nil}"

然后变成:

"Testing .... "

关于Ruby 字符串插值运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52808139/

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