Bonjour !
J'essaye depuis peu de me remettre un peu à Ruby qui est vraiment un langage magnifique. Mais parfois il y a quelque logique que je ne comprend pas… Voyez mon code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | # encoding: utf-8 # FONCTIONS # Fonction pour mélanger les lettres d'un mot def randomizer(word) base_word = word random_word = '' until word.size == 0 position = Random.rand(0...word.size) random_word << word[position] # On ajoute la lettre word.slice!(position) # On supprime les lettres au fur et à mesure end # On vérifie que ce ne soit pas le même mot randomizer(base_word) if (random_word == base_word) random_word # On retourne le mot mélangé end # MAIN print 'Entrez un mot : ' base_word = gets.chomp # Mot qui va être mélangé random_word = randomizer(base_word) user_try = nil while user_try != base_word puts "Devinez le mot : #{random_word.upcase}" puts base_word # N'AFFICHE RIEN ! user_try = gets.chomp puts "\n" if user_try != base_word end puts 'end' |
Je vous ai mis en évidence la ligne qui m'a mit la puce à l'oreille. Mon puts n'affiche rien, le contenu de ma variable à disparu ! Serais-ce la fonction qui travaille directement sur celle-ci au lieu de la copier ?
Merci de votre aide !
+0
-0