В Ruby оператор *
(и другие подобные операторы) на самом деле просто вызывают метод с тем же именем, что и оператор. Таким образом, чтобы переопределить *
, вы можете сделать что-то вроде этого:
class MyObj
def *(obj)
# Do some multiplication stuff
true # Return whatever you want
end
end
Вы можете использовать аналогичную технику для других операторов, например /
или +
. (Обратите внимание, что вы не можете создавать свои собственные операторы в Ruby.)