Концепция закрытия Groovy

Меня немного смущает термин «закрытие», используемый в документации Groovy . Согласно документации, их определение закрытия больше похоже на анонимную функцию или лямбду.

Я понимаю, что языки, поддерживающие функции первого класса, обычно позволяют формировать укупорочные средства. Однако существует различие между этими двумя концепциями.

Например, согласно документации Groovy:

Замыкание в Groovy является анонимным фрагмент кода, который может принимать аргументы, вернуть значение, указать и использовать переменные, объявленные в его окружении область.

На языке функциональных языков такой анонимный блок кода может называться анонимным лямбда-выражением в целом или лямбда-выражением с несвязанными переменными или закрытым лямбда-выражением, если он не содержит ссылок на несвязанные переменные (например, порог в предыдущем примере). Groovy не делает такого различия.

Затем, согласно странице Википедии , посвященной замыканиям:

Термин закрытие часто ошибочно используется для обозначения анонимной функции.

Что мне не хватает?

9
задан Jaime Caffarel 28 January 2018 в 14:43
поделиться