Ruby 冒号“运算符”在本例中的作用是什么?

Ruby 冒号“运算符”在本例中的作用是什么?,ruby,Ruby,我在其他地方的答案中看到了这个例子,它输出了foobar: 冒号不是条内的运算符,它只是一个使用字符串插值构建符号的符号文字。需要引用一些符号以避免语法问题,例如: :'a+b' 您还可以在这种语法中使用双引号,这些引号的行为就像字符串的双引号,因此它们支持字符串插值。因此: :"#{b}bar" 相当于: "#{b}bar".to_sym 或 如果您检查您的价值,您将更好地了解它包含的内容: puts c.inspect # :foobar 值得一提的是,OP中的“It is sett

我在其他地方的答案中看到了这个例子,它输出了foobar:


冒号不是条内的运算符,它只是一个使用字符串插值构建符号的符号文字。需要引用一些符号以避免语法问题,例如:

:'a+b'
您还可以在这种语法中使用双引号,这些引号的行为就像字符串的双引号,因此它们支持字符串插值。因此:

:"#{b}bar"
相当于:

"#{b}bar".to_sym

如果您检查您的价值,您将更好地了解它包含的内容:

puts c.inspect
# :foobar

值得一提的是,OP中的“It is setting variable as reference”(将变量设置为参考)措辞是错误和令人困惑的。@mudasobwa我认为这是一个令人困惑的问题,并不是他们最好的英语用法,所以进入兔子洞会让人分心。关于变量作为参考,你是对的。我从这里得到的:。很明显,我引用的示例与通过引用无关。我在最后删除了令人困惑的行。谢谢你的回答!
(b.to_s + 'bar').to_sym
puts c.inspect
# :foobar