0
我有这样一个哈希:红宝石回报率得到哈希键和值分别
hash = {"str1"=>5, "str2"=>9, "str3"=> 3}
hash.keys
给出结果["str1", "str2", "str3"]
hash.values
给出结果[5, 9, 3]
我想导出为Axlsx
使用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
在一个Excel工作表,这是结果
这很简单,如果哈希并不大,但是如果它由20元以上的例子,这样做这样是不是之实践,在所有! 我想以更好的方式为散列的所有元素执行此操作。
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]]
它说我'各”的零未定义的方法:NilClass'这就是为什么我试图单独的键和值,所以我可以使用'each'方法 – media
@media这个错误意味着'hash'是'nil',仅此而已。再检查一遍。 –
谢谢@Andrey Deineko,它的工作! (这只是我的打字错误) – media