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
Ах да, что работает. Есть ли какой-либо способ сделать это без дополнительной точки? – Napoleon
@ Наполеон № '+' является либо унарным, либо двоичным оператором в Ruby, а не тернарным. Если в 'a. + B, c',' + '- это просто вызов метода, а не оператор, и поэтому может принимать любое количество аргументов. –