В процессе понимания ruby я пытался переопределить значение «+» со значением аргумента по умолчанию. Что-то вроде этого.Переопределить метод «+»
class C
def something(a = 5)
puts "Received: #{a}"
end
def +(b = 10)
puts "Received: #{b}"
end
end
Теперь
x = C.new
x.something #=> Received: 5
x.something(88) #=> Received: 88
x.+ #=> IRB shows ? whereas I was expecting an output 'Received: 10'
Является ли это из-за приоритета операторов?
'x.send (: +)' покажет, что вы ожидаете. Я считаю, что интерпретатор ожидает метод или переменную после +. – Gazler
Gazler, фантастический. send() работает как ожидалось. Теперь я узнал о реальном использовании отправки. – Bala
@Bala отправить. Все способ отправка ... – texasbruce