Term::UI, get_reply et choix par defaut

Le
Eric C.
Bonjour à tous,

J'obtiens un comportement etrange de la part de la methode get_reply
avec le code suivant :
use strict;
use warnings;
use Term::UI;
use Term::ReadLine;
my @valeurs = (86,81);
my $term = Term::ReadLine->new('epaisseur');
my $choice = $term->get_reply(
print_me => 'Epaisseur en mm ?',
prompt => 'Votre reponse : ',
choices => @valeurs,
default => $valeurs[0],
);
La reponse par defaut qui m'est proposée est bien la première de la
liste @valeurs, mais si je valide sans repondre explicitement,
j'obtiens le message "Invalid selection, please try again". Je suis
obligé de répondre explicitement pour que le choix soit bien pris en
compte.

Merci à tous ceux qui ont un fragment d'explication

Eric
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
perlgenome
Le #22848421
Le problème c'est
my @valeurs = (86,81);

Le tableau ne doit pas contenir d'entier, car le prompt s'attends à ce
que tu lui tape :
1 pour choix 1
2 pour choix 2
etc

or dans ton cas, par défaut, c'est 86 et 86 ne représente rien dans
les choix. Donc, c'est une limite ou bug du module.
Si tu mettais my @valeurs = (' 86 ',' 81 '); comme par hasard, ça
fonctionne mieux :-) !!

Genomart
Eric C.
Le #22924551
On 26 nov, 17:13, perlgenome
Le problème c'est
my @valeurs = (86,81);

Le tableau ne doit pas contenir d'entier, car le prompt s'attends à ce
que tu lui tape :
 1 pour choix 1
2 pour choix 2
etc

or dans ton cas, par défaut, c'est 86 et 86 ne représente rien dans
les choix. Donc, c'est une limite ou bug du module.
Si tu mettais my @valeurs = (' 86 ',' 81 '); comme par hasard, ça
fonctionne mieux :-) !!




Merci !


Eric
Publicité
Poster une réponse
Anonyme