Cher journal,
J'ai un petit texte à apprendre par cœur, est inspiré par le site memorize by heart, j'ai écrit le mini script suivant, dont l'idée est d'attendre que l'utilisateur rentre la première lettre de chaque mot dans un fichier.
#!/bin/env ruby
require 'io/console'
ARGV.size == 1 or raise "Usage: #{$PROGRAM_NAME} <file>"
result = { correct: 0, total: 0 }
File.read(ARGV[0]).split(/\n/) do |line|
line.split(/\s+/) do |word|
success = true
loop do
case $stdin.getch
when word[0].downcase
break
when "\u0003"
raise 'Interrupted by user'
end
success = false
end
result[:total] += 1
result[:correct] += 1 if success
print "#{word} "
end
puts
end
puts '', "Your score is #{result[:correct] * 100 / result[:total]} %"
Exemple d'utilisation:
./tapmemo <(echo "bonjour, mon cher journal.\ncomment allez vous?")
J'espère que ça pourra aider d'autres personnes,
Si vous voyez des bugs/améliorations je suis preneur !
# gemme…
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 2 (+0/-0).
+1, pour ce journal, juste pour l’élégance rouge…
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.