Frage

Ich bin auf eine seltsame Syntax gestoßen Boo-Sprachführer :

setter = { value | a = value }

Was macht die | Bediener meinen?

War es hilfreich?

Lösung

Die Dokumentation von Boo scheint in diesem Bereich zu fehlen – so scheint es

setter = { value | a = value }

ist eine Abkürzung für

setter = def(value):
    a = value

Andere Tipps

Nun, da ich Boo noch nie verwendet habe, gehe ich (gegründet) davon aus, dass es zur Übergabe von Parametern an die Schließungsfunktionen im Lambda-Stil dient.In diesem Fall {p | C} bezieht sich auf eine anonyme Funktion, die einen einzelnen Parameter mit P in den Code C übernimmt.

Adam hat recht.Der Sinn des Beispiels besteht darin, zu zeigen, dass Lambdas in boo Lese- und Schreibzugriff auf den umschließenden Bereich haben.

Diese Syntax zur Angabe von Codeblöcken (anonymen Funktionen) wurde von übernommen Rubin Und Smalltalk

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top