ExpertiDict

Ruby · Intermediário · Inglês · Técnico

lambda

/ˈlæmdə/substantivo

Proc criado com lambda ou ->, que se comporta como um método: confere o número de argumentos e usa return só para sair dele mesmo.

Onde usar

Use quando quiser um trecho chamável e previsível, como estratégias, callbacks ou scopes do Rails. Errar a quantidade de argumentos levanta ArgumentError, o que ajuda a achar bugs cedo.

Em código

soma = ->(a, b) { a + b }
puts soma.call(1, 2)  # => 3
puts soma.lambda?  # => true
soma.call(1)  # ArgumentError

Exemplos

The scope takes a lambda so it runs on every call.

O scope recebe um lambda para rodar a cada chamada.

Calling the lambda with one argument raised ArgumentError.

Chamar o lambda com um argumento levantou ArgumentError.

Cuidado

Não presuma que seja igual a proc: o return do lambda volta só dele, e a aridade é rígida.

Sinônimos

função anônima

Origem

Do cálculo lambda, de Alonzo Church.

Veja também

Todos os termos de Ruby