为什么不能在Ruby变量名中使用标点符号(?和!)?

时间:2013-06-30 17:32:36

标签: ruby

?而且!在方法名称中使用,但显然不能在变量名中使用?

foo! = 2
=> SyntaxError: (irb):1: syntax error, unexpected '='

是什么原因?

1 个答案:

答案 0 :(得分:3)

?而且!是ruby运算符,因此不允许使用变量名。否则,Ruby将如何评估像if (v!=2)(检查变量v是否不等于2的表达式)或类似v?1:0之类的东西(如果v是真实的则表达式将返回1,如果是真的则返回0的表达式)

UPDATE 另一个合理的原因是Ruby处理以?结尾的名字?而且!作为方法