Le but de mon programme est de lire dans un fichier comportant une grille de nombres délimités par des espaces. Pour traiter cela dans mon programme, j'ai besoin que ce soit un tableau multidimensionnel. J'ai essayé de le faire en:
arr = IO.readlines("Example.txt")
arr.map { |string| string.chomp.split.map { |sub_str| sub_str.to_i } }
Ce code, une fois exécuté, ne renverra que mon tableau, mes chaînes et mon "n" d'origine. J'ai pu obtenir l'effet souhaité en:
arr = IO.readlines("Example.txt")
int = Array.new
arr.each { |string| int << string.chomp.split.map { |sub_str| sub_str.to_i } }
Je préférerais muter le tableau d'originecela a plutôt créé un nouveau. Comment mapper le tableau pour obtenir les résultats souhaités? Je suis vraiment nouveau chez Ruby et j'apprécie sa POO "ness. Merci pour l'aide.
Réponses:
1 pour la réponse № 1Il suffit de réaffecter le tableau d'origine
arr = arr.map { |string| string.chomp.split.map { |sub_str| sub_str.to_i } }
Ou utilisez un destructeur map!
arr.map! { |string| string.chomp.split.map { |sub_str| sub_str.to_i } }