Ruby赋值运算符

JZ.*_*JZ. 3 ruby

为什么加法"运算符"是一个方法,而赋值运算符+ =不?

运营商为什么这样工作:

ruby-head> 2. +(4)
=> 6

赋值运算符以这种方式工作:

ruby-head> i = 1
=> 1
ruby-head> i + = 1
=> 2
ruby-head> i.+ =(1)SyntaxError:(irb):26:语法错误,意外'='i.+ =(1)^ from /Users/fogonthedowns/.rvm/rubies/ruby-head/bin/irb:17:in`

sep*_*p2k 11

因为赋值对变量而不是对象起作用,因此不能作为方法实现.

  • 或者更根本的是:因为变量不是对象.如果它们是*,则可以将`=`实现为变量的方法. (2认同)