Groovy следует принципу соответствия Теннента?

15

Вот интересное обсуждение принципа соответствия Теннента и краткое описание Нила Гафтера :

Принцип гласит, что выражение или утверждение, когда оно заключено в замыкание и затем сразу вызвано, должно иметь то же значение, что и до того, как оно будет заключено в замыкание. Любое изменение семантики при переносе кода в замыкание, скорее всего, является недостатком языка.

Groovy язык следует этому принципу?

Armand
источник

Ответы:

4

Не совсем, но почти. Все переменные, доступные во внешней области видимости, доступны в замыкании, включая «this» и члены класса. Однако returnоператор возвращается из замыкания, а не из включающей функции. Я даже не уверен, что это нарушение TCP; Я не знаю ни одного языка returnв стиле C, где в замыкании возвращается из окружающей области. У меня не было сюрпризов с использованием Groovy замыканий.

Кевин Клайн
источник
Было бы -1, если бы у меня было достаточно повторений, смотрите далее в ссылке из OP: programmers.stackexchange.com/questions/116395/…
sq33G