我遇到了一些奇怪的事情(我使用的是 Ruby 1.9.1)。案例场景为:
class D
...
def self.d6
1+rand(6)
end
...
end
v = D::d6+2 # fine and dandy
v = D::d6 +2 # in `d6': wrong number of arguments (1 for 0) (ArgumentError)
v = D::d6 + 2 # fine and dandy
为什么第二种情况下的“+2”被视为“正2”而不是“加2”?