Вопрос
Как вы справляетесь с лямбдами в бу? Является «вызываемым» тоже самое? Как вы определяете метод, который принимает лямбду в качестве параметра?
Решение
Boo поддерживает лямбда-выражения:
foo = {x|x+2}
seven = foo(5)
def TakeLambda(expr as callable(int) as int):
return expr(10)
twelve = TakeLambda(foo)
В этом примере foo
- это функция, которая принимает число x и возвращает x + 2. Таким образом, вызов foo (5)
возвращает число 7. TakeLambda
- это функция, которая принимает foo
и оценивает его как 10.
Не связан с StackOverflow