06 · Funções
Lambdas unárias completas
Com uma assinatura comprovada de callback de um argumento, underscore pode representar o parâmetro inteiro, inclusive em contas e chamadas aninhadas comuns. Callbacks aninhados ganham seu próprio parâmetro. Blocos, lambdas explícitas, coleções e pipes continuam sendo fronteiras de escopo.
Nesta página
Com uma assinatura comprovada de callback de um argumento, underscore pode representar o parâmetro inteiro, inclusive em contas e chamadas aninhadas comuns. Callbacks aninhados ganham seu próprio parâmetro. Blocos, lambdas explícitas, coleções e pipes continuam sendo fronteiras de escopo.
Exemplo completo
Lambdas unárias completas.
22-unary-short-lambdas.zolo
// expected:
// 4
// 6
// Ana!
// 2
// 1
struct User { name: str }
fn format_name(name: str) -> str { name + "!" }
let doubled = [2, 3].map(_ * 2)
print(doubled[0])
print(doubled[1])
print([User { name: "Ana" }].map(format_name(_.name))[0])
// Each proved nested callback gets its own parameter.
let sizes = [[2, 3], [4]].map(_.map(_ + 1).len())
print(sizes[0])
print(sizes[1])
Regras e comportamento
Parâmetros de funções e lambdas · Documentação
A partir de um checkout do repositório:
zolo examples/features/05-functions/22-unary-short-lambdas.zolo
Veja também