Question
J'ai rencontré une syntaxe étrange dans Guide linguistique Boo :
setter = { value | a = value }
Que fait le | l'opérateur signifie?
La solution
La documentation de Boo semble faire défaut dans ce domaine -- il semble que
setter = { value | a = value }
est un raccourci pour
setter = def(value):
a = value
Autres conseils
Eh bien, n'ayant jamais utilisé Boo, mon hypothèse (instruite) est que c'est pour passer des paramètres aux fonctions de fermeture de style lambda.Dans ce cas, {P | C} fait référence à une fonction anonyme prenant un seul paramètre lié à P dans le code C.
Adam a raison.Le but de l'exemple est de montrer que les lambdas dans boo ont un accès en lecture et en écriture à la portée englobante.
Cette syntaxe pour spécifier les blocs de code (fonctions anonymes) a été empruntée à Rubis et Petite conversation