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

  • BigDawsVlogs

    BigDawsVlogs

    17 HAZİRAN 2013
  • FRED

    FRED

    1 EKİM 2005
  • Photoshop Training Channel

    Photoshop Tr

    13 Temmuz 2012