ementos dentro de uma Lista. Considere que os espaços separam os elementos. def strToLista (msg){ msg.split(" ").toList() } lista = strToLista("Olá Veras!") assert lista == ["Olá", "Veras!"] 2: Codifique um método chamado invertLista. Este método deve receber uma lista como parâmetro e devolver a mesma lista, porém com os seus elementos invertidos. def invertLista(lista){ lista.reverse() } a = ["Necio", 3, 4, 5, "A"] a = invertLista(a) assert a == ["A", 5, 4, 3, "Necio"]
3: Monte um closure chamado numsToChars. A estrutura deve receber como parâmetro u
m conjunto de números inteiros e devolvê-los na forma de caracteres. Por exemplo: se ela recebe r os números 65 e 70, então ela deve retornar "A"e "F". def numsToChars = { numeros -> chars = [] numeros.each { chars.add((char)it) } chars } assert numsToChars([65, 66, 67]) == ["A", "B", "C"] 4: Invente um closure que calcule e exiba os números primos de 1 até um número que sej a especificado por meio de parâmetro. Lembre-se que um número primo é todo número que é divisível apenas p r 1 e por ele mesmo. def primos = { limite -> numPrimos = [] (limite+1).times{ //testa cada numero de 1 até LIMITE ehPrimo = true for (i in 2..it){ //verifica se o numero eh Primo if (it % i == 0 && it != i){ //Eh divisivel pelo numero atual e est e numero atual não é o mesmo número da vez ehPrimo = false break } } if (ehPrimo == true) numPrimos.add(it) } return numPrimos } assert primos(20) == [1,2,3,5,7,11,13,17,19] 5: Gere um closure que receba como parâmetro duas listas. A estrutura deve juntar as duas listas em ordem invertida e exibi-las. Por fim, para testá-la, você deve fix ar por meio do recurso curry a primeira lista com os seguintes valores: ["A", 10, "B", 20, "C", 30] def invertListas = { lista1, lista2 -> listas = lista2.reverse() + lista1.reverse() } listas = invertListas.curry(["A", 10, "B", 20, "C", 30]) assert listas(["Necio", "de", "Lima", "Veras"]) == ["Veras", "Lima", "de", "Neci o", 30, "C", 20, "B", 10, "A"]