2

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

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

是什么原因?

4

1 回答 1

3

? 和 !是 ruby​​ 运算符,因此不允许在变量名中使用它们。否则,Ruby 将如何评估类似if (v!=2)(检查变量 v 是否不等于 2 的 v?1:0表达式)或类似(如果 v 为真则返回 1,如果其为假则返回 0)的表达式

更新 另一个可能的原因是 Ruby 处理以 ? 结尾的名称。和 !作为方法

于 2013-06-30T17:54:16.180 回答