Strana sintassi del linguaggio boo
Domanda
Mi sono imbattuto in una strana sintassi in Guida alla lingua Boo :
setter = { value | a = value }
Cosa fa il | Operatore significa?
Soluzione
La documentazione di Boo sembra mancare in quest'area: sembra così
setter = { value | a = value }
è una scorciatoia per
setter = def(value):
a = value
Altri suggerimenti
Bene, non avendo mai usato Boo, la mia ipotesi (colta) è che serva per passare parametri alle funzioni di chiusura in stile lambda.In questo caso, {p | C} si riferisce a una funzione anonima che prende un singolo parametro associato a P all'interno del codice C.
Adamo ha ragione.Lo scopo dell'esempio è mostrare che i lambda in boo hanno accesso in lettura e scrittura all'ambito di inclusione.
Quella sintassi per specificare i blocchi di codice (funzioni anonime) è stata presa in prestito da Rubino E Chiacchiere