私はgroovy(Javaで働いていた)が初めてで、Spockフレームワークを使用していくつかのテストケースを記述しようとしています。以下が必要ですJava「各ループ」を使用してgroovyスニペットに変換されたスニペット
List<String> myList = Arrays.asList("Hello", "World!", "How", "Are", "You");
for( String myObj : myList){
if(myObj==null) {
continue; // need to convert this part in groovy using each loop
}
System.out.println("My Object is "+ myObj);
}
グルーヴィーなスニペット:
def myObj = ["Hello", "World!", "How", "Are", "You"]
myList.each{ myObj->
if(myObj==null){
//here I need to continue
}
println("My Object is " + myObj)
}
クロージャは基本的に各要素をパラメータとして呼び出すメソッドであるため、return
を使用します
def myObj = ["Hello", "World!", "How", "Are", "You"]
myList.each{ myObj->
if(myObj==null){
return
}
println("My Object is " + myObj)
}
または、パターンを
def myObj = ["Hello", "World!", "How", "Are", "You"]
myList.each{ myObj->
if(myObj!=null){
println("My Object is " + myObj)
}
}
または、findAll
オブジェクトを除外する前にnull
を使用します
def myList = ["Hello", "World!", "How", "Are", null, "You"]
myList.findAll { it != null }.each{ myObj->
println("My Object is " + myObj)
}
for
で標準のcontinue
ループを使用できます。
for( String myObj in myList ){
if( something ) continue
doTheRest()
}
またはreturn
のクロージャーでeach
を使用します。
myList.each{ myObj->
if( something ) return
doTheRest()
}
オブジェクトがif
でない場合にのみ、null
ステートメントを入力することもできます。
def myObj = ["Hello", "World!", "How", "Are", "You"]
myList.each{
myObj->
if(myObj!=null){
println("My Object is " + myObj)
}
}