for-loop groovy each spock continue

for loop - Cómo usar "continue" en groovy cada bucle



for-loop each (3)

O use return , ya que el cierre es básicamente un método que se llama con cada elemento como parámetro

def myObj = ["Hello", "World!", "How", "Are", "You"] myList.each{ myObj-> if(myObj==null){ return } println("My Object is " + myObj) }

O cambia tu patrón a

def myObj = ["Hello", "World!", "How", "Are", "You"] myList.each{ myObj-> if(myObj!=null){ println("My Object is " + myObj) } }

O use findAll antes para filtrar objetos null

def myList = ["Hello", "World!", "How", "Are", null, "You"] myList.findAll { it != null }.each{ myObj-> println("My Object is " + myObj) }

Soy nuevo en groovy (trabajé en java), tratando de escribir algunos casos de prueba utilizando el marco Spock. Necesito el siguiente fragmento de código de Java convertido en fragmento de código usando "cada bucle"

Fragmento de Java:

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); }

Fragmento maravilloso:

def myObj = ["Hello", "World!", "How", "Are", "You"] myList.each{ myObj-> if(myObj==null){ //here I need to continue } println("My Object is " + myObj) }


También puede ingresar su declaración if si el objeto no es null .

def myObj = ["Hello", "World!", "How", "Are", "You"] myList.each{ myObj-> if(myObj!=null){ println("My Object is " + myObj) } }


puede utilizar un bucle estándar for continue :

for( String myObj in myList ){ if( something ) continue doTheRest() }

o usar return en el cierre de each :

myList.each{ myObj-> if( something ) return doTheRest() }