2

在下面的代码中,我尝试更改 + 运算符的行为。但是,与所有其他可能的方法不同,它似乎不接受多个参数。这在Ruby中甚至可能吗?

class A
  def add(a,b)
    p a
    p b
  end  

  def +(a, b)
    p a
    p b
  end  
end

@a = A.new
@a + 1, 3    # <<<< crash
@a.add 1, 3  # <<<< works
4

1 回答 1

4

你错过了.接线员。

class A
  def add(a,b)
    p a
    p b
  end  

  def +(a, b)
    p a
    p b
  end  
end

@a = A.new
@a.+ 1, 3 
@a.add 1, 3 
# >> 1
# >> 3
# >> 1
# >> 3
于 2013-07-20T16:05:53.377 回答