IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Groovy Java Discussion :

Erreur incompréhensible "Ambiguous expression"


Sujet :

Groovy Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut Erreur incompréhensible "Ambiguous expression"
    Bonjour,

    Je galère avec un code (du Groovy dans un programme Java) qui pourtant me semble simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    regexDecl = /<select [^>]*class="mod_fa_options_input"[^>]*>(.+?)<\/select>/
    regexOption = /<option[^>]*>([^<\(\)]+)( \(([^<\(\)]+)\))?<\/option>/
    declinaisons = ( code =~ regexDecl )
     
    for(i=1;declinaisons.find();i++) {
      htmlOption=declinaisons.group(1)
      if(htmlOption)
      {
         option = ( htmlOption =~ regexOption )
         for(j=1;option.find();j++) {  
    		 txtOption=option.group(1);
    		 supplement="0";
    	 }
      }
    }
    J'ai l'erreur suivante :

    org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
    Script1.groovy: 10: Ambiguous expression could be either a parameterless closure expression or an isolated open code block;
    solution: Add an explicit closure parameter list, e.g. {it -> ...}, or force it to be treated as an open block by giving it a label, e.g. L:{...} @ line 10, column 45.
    j = 1; option.find() ; j++ ) {

    Le curseur est au niveau de la parenthèse fermante. Je ne comprends pas la signification de mon erreur.

  2. #2
    Membre du Club
    Profil pro
    lead dev
    Inscrit en
    Février 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : lead dev

    Informations forums :
    Inscription : Février 2008
    Messages : 75
    Points : 65
    Points
    65
    Par défaut
    Bonjour,

    A mon avis Groovy est simplement paumé car tu sembles itérer sur une variable que tu n'utilises pas.
    As-tu essayé un truc du style while(!option.find()) {....} ?

    Sinon je pense que tu te simplifierai la vie en cherchant via ta regexp les résultats que tu veux et non pas boucler sur tous les résultats en attendant de trouver le bon.

    Sinon sinon, si ton souhait est comme je le pense de parcourir tous les résultats que te retourne ton find tu peux faire un truc qui de mémoire devrait ressembler à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    option.findAll().each { // ici utiliser it ou autre variable représentant ton itération}

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/11/2007, 10h10
  2. [MySQL] Supprimer les erreurs de syntaxe dues aux quotes
    Par gotenks dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/01/2006, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo