Sintaxe estranha da linguagem boo
Pergunta
Encontrei uma sintaxe estranha em Guia de idiomas Boo :
setter = { value | a = value }
O que faz o | operador significa?
Solução
A documentação do Boo parece estar faltando nesta área - parece que
setter = { value | a = value }
é uma abreviatura para
setter = def(value):
a = value
Outras dicas
Bem, como nunca usei o Boo, meu palpite (educado) é que ele serve para passar parâmetros para as funções de fechamento no estilo lambda.Nesse caso, {p | C} refere -se a uma função anônima que leva um único parâmetro ligado a P dentro do código C.
Adão está correto.O objetivo do exemplo é mostrar que lambdas em boo têm acesso de leitura e gravação ao escopo envolvente.
Essa sintaxe para especificar blocos de código (funções anônimas) foi emprestada de Rubi e Conversa fiada
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow