У меня есть эта часть кода в Ruby.Перегрузка функций в Ruby
class Superheros
class<<self
def foo1(param1)
print "foo1 got executed\n"
end
def foo1
print "foo1 without param got executed\n"
end
def foo3(param1,param2)
print "foo3 got executed\n"
end
end
end
print Superheros.foo3(2,3)
print Superheros.foo1
print Superheros.foo1
print Superheros.foo1(5)
Я получаю ошибку в Superheros.foo1(5)
. Но у меня уже есть функция foo1(param1)
, чтобы соответствовать ей, но она дает мне ошибку `foo1': wrong number of arguments (1 for 0) (ArgumentError)
Почему это? PS: Я узнал, удалил ли я имя функции без параметр Superheros.foo1(5)
работает просто отлично.
Да, я понял это. Другой подход к перегрузке функции. Довольно пятно. – SeasonalShot