variable dans if

Vous lisez 5 fils de discussion
  • Auteur
    Messages
    • #1725
      kelh
      Participant
      Up
      0
      Down
      ::

      Bonjour,
      voici un code qui compile mais quand je l’exécute il y a un message : Erreur de syntaxe dans compare():

      \text{relation=randint(0<1,2<1,3=4)}
      
      \if{\relation}{\text{test=vrai}}{\text{test=faux}}
      
      \statement{
      \relation est \test.
      }
    • #1726
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      randint prend un entier au hasard, pas très approprié ici.
      Essaye avec randitem.

      Bernadette

    • #1727
      kelh
      Participant
      Up
      0
      Down
      ::

      désolé, c’est randitem qu’il faut lire et non randint. Le pb persiste malgré tout.

    • #1728
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      En effet, le test de compatibilité est visiblement fait avant l’évaluation.
      Mais là je ne corrige pas. Il y a d’autres moyens de s’en sortir.
      Par exemple, (attention au ==)

      \text{relation=randitem(0<1,2<1,3==4)}
      \text{test=pari(\relation)}

      \if{\test = 1}{\text{test=vrai}}{\text{test=faux}}

      \statement{
      \relation est \test.
      }

    • #1729
      kelh
      Participant
      Up
      0
      Down
      ::

      merci pour ta solution qui va me dépanner mais je ne comprends le problème.

    • #1731
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      wims regarde s’il y a un opérateur de comparaison à l’intérieur de \if{}
      s’il n’y en a pas, il « râle ». Mais il regarde avant d’avoir remplacer \relation par sa valeur, donc il ne trouve pas d’opérateur de comparaison (je n’ai pas vérifié dans le code mais cela me paraît être l’explication la plus pausible !

      Bernadette

Vous lisez 5 fils de discussion
  • Vous devez être connecté pour répondre à ce sujet.