我试过了:
:"asdfas"
# => :asdfas
:asdfas
。我理解正确吗?如果没有,输出实际意味着什么?编辑:
Daniel Contreras提到“每个输出都是该函数或对象的返回值”,因此后续问题是:为什么不是:"asdfas"
?
:"asdfas"
# => :asdfas # why not :"asdfas"
为什么asdfas
周围的引号会在输出中被删除?
答案 0 :(得分:1)
根据我对ruby的有限知识,每个输出都是该函数或对象的返回值。例如
> foo = 1+2
=> 3
> "#{foo} bar"
=> "3 bar"
回答2号:是的,如果您想使用特殊字符作为符号的一部分,它通常被用作逃避。
> :foo-bar
NameError: undefined local variable or method `bar' for main:Object
from (irb):10
from /usr/bin/irb:12:in `<main>'
> :'foo-bar'
=> :"foo-bar"
因此,:foo-bar
是无效符号,:"foo-bar"
是有效符号。
编辑:最后一部分不正确,请参阅下面的峰值答案以获得正确答案。