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