J'écris une application qui tourne autour de l'obtention de jeux de données numériques à partir d'un fichier. Cependant, puisque les données sont acquises sous forme de chaîne, je dois le convertir en chars, où le plaisir commence. La section pertinente de mon code est comme indiqué (lignes 65-73):Conversion d'un tableau de chaînes en tableau de flèches
ft = []
puts "File Name: #{ARGV[0]}"
File.open(ARGV[0], "r") do |file|
file.each_line do |line|
ft << line.scan(/\d+/)
end
end
ft.collect! {|i| i.to_f}
Cela fonctionne très bien dans RIR, qui est, la dernière ligne modifie le tableau à flotteurs.
irb(main):001:0> ft = ["10", "23", "45"]
=> ["10", "23", "45"]
irb(main):002:0> ft.collect! {|i| i.to_f}
=> [10.0, 23.0, 45.0]
Cependant quand je lance ma demande je reçois cette erreur:
ruby-statistics.rb:73:in `block in <main>': undefined method `to_f' for #<Array:
0x50832c> (NoMethodError)
from ruby-statistics.rb:73:in `collect!'
from ruby-statistics.rb:73:in `<main>'
Toute aide à ce serait apprécié.
N'oubliez pas que vous pouvez utiliser .inspect pour examiner ft: insigne ft.inspect –