Comment ajouter des éléments à un tableau un par un dans le langage groovy
Im le développement d'un graal application, et j'ai déjà un domaine classe "ExtendedUser" qui a des infos sur les utilisateurs comme: "nom", "bio", "date de naissance". Maintenant, planification de la Gi pour faire des statistiques sur les utilisateurs de l'âge j'ai donc créé un autre contrôleur "StatisticsController" et l'idée est de stocker toutes les dates de naissance dans un tableau afin que je puisse gérer plusieurs calculs
class StatisticsController {
// @Secured(["ROLE_COMPANY"])
def teststat(){
def user = ExtendedUser.findAll() //A list with all of the users
def emptyList = [] //AN empty list to store all the birthdates
def k = 0
while (k<=user.size()){
emptyList.add(user[k].birthDate) //Add a new birthdate to the emptyList (The Error)
k++
}
[age: user]
}
}
Quand je l'ai tester, il m'indique ce message d'erreur: Impossible d'obtenir la propriété "date de naissance" sur l'objet null
Donc ma question est de savoir comment est la meilleure façon de stocker toutes les dates de naissance en un seul tableau ou de la liste, donc je peut faire des calculs avec. Merci
OriginalL'auteur GeekyTrash | 2013-06-21
Vous devez vous connecter pour publier un commentaire.
Je préfère .chacun() en groovy, autant que possible. Lisez à propos de groovy boucle ici.
Pour cela, essayez quelque chose comme:
Je n'ai pas de grain de l'environnement mis en place sur l'ordinateur de sorte que c'est bien sur le dessus de ma tête sans être testés, mais donner un coup de feu.
Push ajoute de la valeur à l'ensemble. Je recommande fortement la lecture de la doc, au moins brièvement, les types de données que vous souhaitez utiliser. Groovy liste doc
Merci, cela semble fonctionner parfaitement bien, c'est juste que j'ai déjà vu le doc. et IDK pourquoi il est dit "push" retourne un booléen. Que vous nouveau
J'ai ajouté
.birthdate
là qui est probablement plus le long de la ligne de ce que vous voulez. Comme pour la pousser, elle renvoie true si elle a réussi ajoute ajoute une valeur à la liste, de sorte que vous pouvez l'utiliser en conjonction avec le contrôle des déclarations commewhile(list.push(x)) {}
il sera en boucle jusqu'à ce qu'il est en dehors des valeurs à ajouter à la liste.Dans votre exemple emptylist peut être définie comme ceci:
emptylist = []
OriginalL'auteur Jake Sellers
Je voudrais utiliser cette approche:
La
collect
méthode transforme chaque élément de la collection et renvoie le transformé de la collection. Dans ce cas, les utilisateurs sont transformés en leurs dates de naissance.OriginalL'auteur bdkosher
Pouvez-vous essayer:
OriginalL'auteur tim_yates