+具有多个参数的运算符

时间:2013-07-20 16:01:53

标签: ruby parameters

在下面的代码中,我尝试更改+运算符行为。但是,与其他所有可能的方法不同,它似乎不接受多个参数。这在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

1 个答案:

答案 0 :(得分: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