我最近一直在使用 Ruby 进行编码,并且之前使用过 Python,据我所知,单引号和双引号对代码的工作方式没有影响。
我转向 Ruby 是为了了解它是如何工作的,并研究 Ruby 和 Python 之间的相似之处。
我曾经使用过单引号字符串并注意到这一点:
hello = 'hello'
x = '#{hello} world!'
puts x
它回来了'#{hello} world!'
而不是'hello world!'
.
注意到这一点后,我尝试使用双引号,问题得到解决。现在我不确定这是为什么。
单引号和双引号会改变这一点还是因为我的编辑器(Sublime text 3)?如果 Ruby 2.0 版与以前的版本工作方式不同,我也会使用 Ruby 2.0 版。
在 Ruby 中,双引号被插入,这意味着代码#{}
被评估为 Ruby。单引号被视为文字(意味着不评估代码)。
var = "hello"
"#{var} world" #=> "hello world"
'#{var} world' #=> "#{var} world"
对于一些特殊的魔法,Ruby 还提供了另一种创建字符串的方法:
%Q() # behaves like double quotes
%q() # behaves like single quotes
例如:
%Q(#{var} world) #=> "hello world"
%q(#{var} world) #=> "#{var} world"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)