2017-06-05 24 views
0

このコードは機能しますが、重複した検索は最適ではないようです。重複なしで同じ機能を実装することは可能ですか?検索条件付きのGroovyパラダイム

def pattern = ~'some_regex' 
def inFile = new File('in') 

inFile.eachLine { String line -> 
    if (line.find(pattern)) { 
     line.find(pattern) { match -> 
      ... // do something 
     } 
    } 
    else { 
     ... // do something (else) 
    } 
} 

答えて

1

私はeachMatch()

inFile.eachLine { String line -> 
    String matched 
    line.eachMatch(pattern){ 
     matched = it[ 0 ] 
     doSomethingWithMatch matched 
    } 
    if(!matched) doNoMatch() 
} 
+0

を使用することをお勧めしたいと一致するものがない場合、どのように私の代わりに、代替ブロックを実行しますか? –

+0

更新を表示... – injecteer

関連する問題