Discussion:
Term::UI, get_reply et choix par defaut
(trop ancien pour répondre)
Eric C.
2010-11-26 13:52:14 UTC
Permalink
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
perlgenome
2010-11-26 16:13:09 UTC
Permalink
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.
2010-12-14 15:49:41 UTC
Permalink
Post by perlgenome
Le problème c'est
Le tableau ne doit pas contenir d'entier, car le prompt s'attends à ce
 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.
fonctionne mieux :-) !!
Merci !


Eric

Loading...