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

  • alexis gillis

    alexis gilli

    23 HAZİRAN 2011
  • Art Food Kitty - Kelly Eddington

    Art Food Kit

    7 Kasım 2006
  • Qmusic Romania

    Qmusic Roman

    8 Temmuz 2011