Я столкнулся со странным синтаксисом в Boo Language Guide :
setter = { value | a = value }
Что означает | оператор значит?
В этой области, похоже, отсутствует документация Boo - кажется, что
является сокращением для
setter = def(value): a = value
Что ж, никогда не использовав Boo, я (образованный) догадываюсь, что это для передачи параметров в функции лямбда-замыкания. В этом случае {p | C} относится к анонимной функции, принимающей один параметр, связанный с p в коде C.
Адам прав. Суть примера в том, чтобы показать, что лямбды в boo имеют доступ на чтение и запись к закрытой области видимости.
Этот синтаксис для указания блоков кода (анонимных функций) был заимствован из Ruby и Smalltalk