2016-09-07 2 views
-2

Je cherchais le moyen le plus propre d'écrire 2 $ dans un fichier texte le nombre de fois spécifié. Je suis sûr que cela est possible et je vais fournir et exemple à ce que je cherche ...Écrire x fois au fichier texte

on *:text:*write*:?: { write test.txt $2 "$3 times"} 

ainsi, par exemple, l'utilisateur taperait

write Hello 3 

ce écrirait bonjour sur 3 lignes à test.txt, le contenu devrait être comme suit dans test.txt

Hello 
Hello 
Hello 

Merci!

La façon dont j'aurais abordé ceci est avec une minuterie, je ne connais pas vraiment un moyen plus facile. Quoi qu'il en soit, j'ai posté cette recherche de la façon correcte de le faire ou du moins la plus propre.

+0

A ma connaissance, à l'aide d'une minuterie est la meilleure façon d'y parvenir. – Denny

+0

@Denny D'accord, cela semblait être mon meilleur pari de toute façon, je cherchais juste à voir s'il y avait quelque chose qui me manquait, merci de m'avoir confirmé! – skdfsfwse

+0

Une minuterie peut être le moyen de réaliser ce que vous recherchez (et le plus court), mais c'est loin d'être la meilleure approche. Une meilleure approche sera l'extrait publié par Sirius_Black, en utilisant une boucle while. –

Répondre

1

si vous voulez une réponse instantanée au lieu de minuteries d'attente, vous pouvez utiliser while

on *:text:*write*:?: { 
var %x = 1 
while (%x <= $$3) { 
write test.txt $2 
inc %x 
} 
}