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

R Discussion :

Délai d'affichage dans une boucle


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut Délai d'affichage dans une boucle
    Bonjour,

    J'ai une BDD avec plusieurs dizaines de lignes, que je parcours dans une boucle.
    Comme la boucle est longue, j'insère un print() dans la boucle pour voir un peu où elle en est.
    Problème, les sorties sont toutes regroupées en fin de boucle et mon print() ne sert à rien.
    Exemple avec ce petit programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (i in 1:10) {
        print(i)
        Sys.sleep(2)
    }
    La fonction Sys.sleep(2) est sensée faire une pause de 2 secondes entre chaque affichage de i.
    Mais tous mes i sont affichés en une seule fois à la fin du traitement de la boucle ?.

    Est-ce que quelqu'un sait s'il s'agit d'un comportement non modifiable de R, et s'il existe un moyen de faire afficher mes i entre chaque pause ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 122
    Par défaut
    Chez moi, ton code d'exemple affiche bien un chiffre toutes les 2 secondes au fur et à mesure de l'exécution. Je ne sais pas d'où vient ton problème mais tu peux essayer de remplacer ton print(i) par cat(i, '\n').

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut
    Citation Envoyé par Meseira Voir le message
    ... tu peux essayer de remplacer ton print(i) par cat(i, '\n').
    Non, pour moi ça ne change rien

    ???

  4. #4
    Membre Expert
    Femme Profil pro
    ..
    Inscrit en
    Décembre 2019
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 95
    Localisation : Autre

    Informations professionnelles :
    Activité : ..

    Informations forums :
    Inscription : Décembre 2019
    Messages : 667
    Par défaut
    Salut,

    L'affichage dans la console est tamponné (buffered) par défaut. Soit tu désactives le tampon ou bien tu fais suivre print() d'une fonction qui le vide, quelque chose qui devrait ressembler à flush() ou flush.console().

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut
    Citation Envoyé par kaitlyn Voir le message
    L'affichage dans la console est tamponné (buffered) par défaut. Soit tu désactives le tampon ou bien tu fais suivre print() d'une fonction qui le vide, quelque chose qui devrait ressembler à flush() ou flush.console().
    Super !
    Ça donne ce que j'attendais, aussi bien en désactivant le tampon, qu'en le laissant activé mais avec flush.console()
    Merci
    Enicnath

Discussions similaires

  1. Problème d'affichage dans une Boucle Foreach
    Par garrix_du77 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 20/07/2017, 14h03
  2. [Google Maps] Affichage dans une boucle
    Par astroma dans le forum APIs Google
    Réponses: 1
    Dernier message: 04/09/2012, 23h25
  3. OneToOne : affichage dans une boucle
    Par golf3gtiii dans le forum Doctrine2
    Réponses: 2
    Dernier message: 14/10/2011, 12h23
  4. Mise en forme de l'affichage dans une boucle
    Par sam01 dans le forum Langage
    Réponses: 6
    Dernier message: 20/05/2010, 16h50
  5. Forcer l'affichage dans une boucle
    Par jb36123 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/08/2006, 14h40

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