Probleme avec boucle while et imput manuels

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Antoine Dujon
Messages : 48
Enregistré le : 06 Déc 2008, 19:08
Contact :

Probleme avec boucle while et imput manuels

Messagepar Antoine Dujon » 23 Aoû 2015, 09:16

Bonjour,

Dans un de mes scripts j'ai besoin de rentrer des valeurs manuellement dans plusieurs boucles while a la suite. Cependant R me saute systématiquement les lignes ou l'utilisateur doit entrer ces valeurs, et forcement, le script plante. Une idée de comment empêcher cela?

Merci Beaucoup

Un exemple a copier / coller d'un seul bloc dans la console :

Code : Tout sélectionner

#while loop 1
numb <- 0
while(numb == 0){
    numb <- readline('Enter number 1 :')
}

#while loop 2
numa <- 0
while(numa == 0){
  numa <- readline('Enter number 2 :')
}

#while loop 3
numc <- 0
while(numc == 0){
  numc <- readline('Enter number 3 :')
}
Dr Antoine M. Dujon
Deakin University

Navarre Julien
Messages : 367
Enregistré le : 20 Avr 2012, 08:27

Re: Probleme avec boucle while et imput manuels

Messagepar Navarre Julien » 24 Aoû 2015, 07:43

Bonjour, ce n'est pas possible en mode interactif car toutes les lignes sont en fait équivalentes à des commandes tapées par l'utilisateur, c'est donc toujours la ligne suivante qui sera interprétée comme l'input.

Pour contourner le problème tu peux wrapper les whiles dans une fonction ou enregistrer le script et le sourcer ensuite. Ou alors utiliser un autre contexte interactif comme tcltk ou shiny.

Eric Casellas
Messages : 767
Enregistré le : 06 Jan 2009, 14:59

Re: Probleme avec boucle while et imput manuels

Messagepar Eric Casellas » 24 Aoû 2015, 07:46

Bonjour,

Ca passe si tu met des {} autour de ton code...
Sinon si tu l'as dans un fichier un source() devrais aller aussi.
Eric

Antoine Dujon
Messages : 48
Enregistré le : 06 Déc 2008, 19:08
Contact :

Re: Probleme avec boucle while et imput manuels

Messagepar Antoine Dujon » 24 Aoû 2015, 12:01

Super, merci beaucoup pour les astuces!
Dr Antoine M. Dujon
Deakin University


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité