Je tire des données CSV puis les stocke en tant que tableaux. Je dois retourner ces tableaux sous la forme d'un seul Hash. Cela me permettra d'utiliser une clé pour chaque index, au lieu d'utiliser le numéro d'index, mais j'ai des problèmes pour le faire fonctionner. Il enregistre une erreur indiquant qu'il y a un mauvais nombre d'arguments.Stocker des tableaux sous forme de hachage?
Des idées où je me trompe?
code:
ref = Array.new
summary = Array.new
pri = Array.new
state = Array.new
estdur = Array.new
notes = Array.new
supporter = Array.new
bz = Array.new
project = Array.new
team = Array.new
hashed = Hash.new
csvPath = "#{File.dirname(__FILE__)}"+"/../modules/csv.csv"
CSV.foreach(csvPath, :headers=>true, :header_converters=>:symbol) do |row|
ref << row [ :feature ]
summary << row [ :Summary ]
pri << row [ :Pri ]
state << row [ :State ]
estdur << row [ :EstDur ]
notes << row [ :Notes ]
supporter << row [ :Supporter ]
bz << row [ :BZ ]
project << row [ :Project ]
team << row [ :Team ]
end
return hashed[
"ref", ref,
"summary", summary,
"pri", pri,
"state", state,
"estDur", estdur,
"notes", notes,
"supporter", supporter,
"bz", bz,
"project", project,
"team", team
]
Postez le erreur exacte trace de la pile. Et indiquer quelle ligne est à l'origine de l'erreur. –
@SergioTulentsev erreur est sur le retour à la fin, et comme indiqué ci-dessus, il est faux nombre d'arguments (20 pour 1) – samayres1992
Au lieu de 'Hash.new' vous pouvez utiliser' {} 'comme JavaScript. 'Array.new' est équivalent à' [] '. – tadman