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

  • girleffect

    girleffect

    20 Mayıs 2008
  • ODN

    ODN

    26 Kasım 2006
  • SaMmM123

    SaMmM123

    3 Mayıs 2006