Ruby - лямбда против Proc.new [дубликат]

Возможный дубликат:
В чем разница между процедурой и лямбдой в Ruby?

При запуске этого кода Ruby :

def func_one
    proc_new = Proc.new {return "123"}
    proc_new.call
    return "456"
end

def func_two
    lambda_new = lambda {return "123"}
    lambda_new.call
    return "456"
end

puts "The result of running func_one is " + func_one
puts ""
puts "The result of running func_two is " + func_two

Результат, который я получаю, будет следующим:

The result of running func_one is 123

The result of running func_two is 456

Что касается func_two , где значение first return , то есть 123 ?

Спасибо.

39
задан Community 23 May 2017 в 12:18
поделиться