Я просто не получил ответ на этот вопрос.Я хочу создать метод динамически с условием ввода в момент экземпляра объекта.Я могу создать метод с другими условиями, которые я тестировал, но в других обстоятельствах он просто не работает.Вот мой код:
class Animal
def initialize(live, swim)
@live = live
@swim = swim
end
def live?
@live
end
def swim?
@swim
end
end
class Bird < Animal
def initialize(live, swim, fly)
super(live, swim)
@fly = fly
end
define_metod(:flying) {puts "flying high"} if @fly
end
Bird.new(true, true, true).flying
Я пробовал еще несколько других способов сделать это.Ошибка в том, что метод «Полет» не создан:
Traceback (most recent call last):
main.rb:23:in `<main>': undefined method `flying' for #<Bird:0x000056382015df98 @live=true, @swim=true, @fly=true> (NoMethodError)