je une table de hachage comme ceci:Ruby RoR obtenir les clés et les valeurs de hachage séparément
hash = {"str1"=>5, "str2"=>9, "str3"=> 3}
hash.keys
donne suite ["str1", "str2", "str3"]
hash.values
donne suite [5, 9, 3]
Je suis en train exporter vers Excel avec Axlsx
en utilisant sheet.add_row
sheet.add_row [hash.keys[0], hash.values[0]] # hash.keys[0] = "str1" and hash.values[0] = 5
sheet.add_row [hash.keys[1], hash.values[1]] # hash.keys[1] = "str2" and hash.values[1] = 9
sheet.add_row [hash.keys[2], hash.values[2]] # hash.keys[2] = "str3" and hash.values[2] = 3
Dans une feuille Excel, ceci est le résultat
est simple si le hachage est pas grand, mais si elle est composée de 20 éléments ou plus, par exemple, faisant ainsi n'est pas pratical à tout !! Je veux faire cela pour tous les éléments du hachage d'une meilleure manière.
sheet.add_row [hash.keys[0], hash.values[0]]
sheet.add_row [hash.keys[1], hash.values[1]]
sheet.add_row [hash.keys[2], hash.values[2]]
........
sheet.add_row [hash.keys[19], hash.values[19]]
Il dit pour moi 'méthode non définie chaque » pour nul: NilClass' c'est pourquoi j'ai essayé de séparer les clés et les valeurs donc je peut utiliser la méthode 'each' – media
@media l'erreur signifie que' hash' est 'nil', rien de plus. Revérifier. –
Merci @Andrey Deineko, ça marche! (C'était juste une erreur de frappe de moi) – media