?而且!在方法名称中使用,但显然不能在变量名中使用?
foo! = 2
=> SyntaxError: (irb):1: syntax error, unexpected '='
是什么原因?
答案 0 :(得分:3)
?而且!是ruby运算符,因此不允许使用变量名。否则,Ruby将如何评估像if (v!=2)
(检查变量v是否不等于2的表达式)或类似v?1:0
之类的东西(如果v是真实的则表达式将返回1,如果是真的则返回0的表达式)
UPDATE 另一个合理的原因是Ruby处理以?结尾的名字?而且!作为方法