SORU
15 HAZİRAN 2010, Salı


Groovy her kapatılması sonu

""Bir Harika her Kapatılması? kırabilir

Ya da bunun yerine klasik bir döngü kullanmak gerekir?

CEVAP
16 HAZİRAN 2010, ÇARŞAMBA


Hayır, "" bir özel durum üretiliyor olmadan. her bir aldıramazsın Büyük olasılıkla eğer belirli bir koşul altında iptal etmek için mola isterseniz klasik bir döngü.

Alternatif olarak, "" bir ara sen de yapardın. her dönüş bir gerçek yerine son bir kullanabilirsin

Bu örnek, tüm listeyi işleme önce iptal eder:

def a = [1, 2, 3, 4, 5, 6, 7]

a.find { 
    if (it > 5) return true // break
    println it  // do the stuff that you wanted to before break
    return false // keep looping
}

Yazdırır

1
2
3
4
5

ama baskı 6 ya da 7 değil.

Ayrıca çok kolay kilitler kabul eden özel Ara davranışı ile kendi yineleyici yöntemlerinizi yazmak için:

List.metaClass.eachUntilGreaterThanFive = { closure ->
    for ( value in delegate ) {
        if ( value  > 5 ) break
        closure(value)
    }
}

def a = [1, 2, 3, 4, 5, 6, 7]

a.eachUntilGreaterThanFive {
    println it
}

Ayrıca baskılar

1
2
3
4
5    

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GOTO Conferences

    GOTO Confere

    3 EKİM 2011
  • MyTiredBones

    MyTiredBones

    2 Temmuz 2013
  • TechRax

    TechRax

    21 EYLÜL 2009