У меня есть класс Duck
с методом initialize
, который возвращает блоку:
class Duck
def initialize()
if block_given?
yield(self)
end
end
end
и класс TalkingDuck
, который приветствует программиста при его инициализации.
class TalkingDuck < Duck
def initialize()
super()
puts 'I am a duck'
end
end
Когда я вызываю конструктор TalkingDuck.new
с блоком, я не хочу, чтобы этот блок выполнялся.Это:
TalkingDuck.new { puts 'Quack' }
должен печатать только I am a duck
, но не Quack
.Как я могу предотвратить выполнение блока?