Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
? 和 !在方法名称中使用,但显然不能在变量名称中使用?
foo! = 2 => SyntaxError: (irb):1: syntax error, unexpected '='
是什么原因?
? 和 !是 ruby 运算符,因此不允许在变量名中使用它们。否则,Ruby 将如何评估类似if (v!=2)(检查变量 v 是否不等于 2 的 v?1:0表达式)或类似(如果 v 为真则返回 1,如果其为假则返回 0)的表达式
if (v!=2)
v?1:0
更新 另一个可能的原因是 Ruby 处理以 ? 结尾的名称。和 !作为方法