Я читаю кирку 1.9, и автор использует лямбду следующим образом:
bo = lambda {|param| puts "You called me with #{param}"}
bo.call 99 => 'You called me with 99'
bo.call "cat" => 'You called me with cat'
Мой вопрос таков: чем это лучше/хуже/отличается от просто определение метода, который делает то же самое? Примерно так:
def bo(param)
puts "You called me with #{param}"
end
bo("hello") => 'You called me with hello'
Мне синтаксис лямбда кажется гораздо более запутанным и похожим на спагетти.