Groovy documentation içinde kullanılan "kapatma" terimi ile ilgili biraz kafam karıştı. Belgelere göre, kapanış tanımları anonim bir işlev ya da lambda gibi görünüyor.Kapanış Groovy Kavramı
Birinci sınıf işlevleri destekleyen dillerin genellikle kapakların oluşturulmasına izin verdiğini anlıyorum. Bununla birlikte, iki kavram arasında bir ayrım vardır. Groovy dokümanlar göre Örneğin
:
Groovy bir kapak, bağımsız değişken alabilir bir değer iade ve referans ve onun çevresinde beyan değişkenleri kullanmak kod anonim yığınıdır kapsamı.
İşlevsel dil eşlemesinde, böyle bir anonim kod bloğu, genel olarak anonim bir lambda ifadesi veya ilişkisiz değişkenlere referanslar içermeyen bir lambda ifadesi veya bağlanmamış değişkenlere referans içermiyorsa kapalı bir lambda ifadesi olarak adlandırılabilir önceki örnek). Groovy böyle bir ayrım yapmaz. Sonra Kapalı Yolu üzerinde Wikipedia sayfaya göre
:
süreli kapatma genellikle yanlışlıkla anonim işlevini anlamında kullanılmaktadır.
Neyi eksik? Aynı page you linked to in the groovy docs sonraki paragrafta söylediği gibi
Belki gözlerim üzerinde sırlı. – Steve
Muhtemelen son cümle '' Bu terminolojinin az ya da çok yanlış olduğunu çok iyi biliyoruz, fakat kod hakkında bir şeyden bahsettiğimizde, '' farkı '' fark etmeyen bir dili basitleştiriyor. –
Bu bölüm açık. Ancak, bundan önce gelenler beynimin zihinsel olarak pes etmesine ve tüm paragrafı atlamasına neden oldu. :) – Steve