Здравствуйте, я пытаюсь выучить рубиновые блоки. Но мне трудно преодолеть эту конструкцию:
class SomeApp
attr_accessor :load_listener
def on_load(&block)
@load_listener = block
end
def load(x)
@load_listener.call(x) if @load_listener
end
end
app = SomeApp.new
app.on_load { |x| puts 'on load #{x}'}
app.load(5)
Я не понимаю, почему результат этого кода 'при загрузке # {x}' , вместо 'при загрузке 5'
Любая помощь приветствуется.