首页 > 解决方案 > 无法理解为什么将简单数组转换为简单哈希的代码不起作用

问题描述

下面附上代码。

 arrayy = [[1,'one'],[2,'two'],[3,'three']]
 hashy = {}
 i = 0
 arrayy.each do
   hashy[arrayy[i,0]] = arrayy [i,1]
   i = i+1
 end
 puts hashy[1]
 puts hashy[2]
 puts hashy[3]
end

此代码不输出任何内容。没有错误。所以,我猜问题是没有任何东西被添加到哈希中。

标签: ruby

解决方案


不确定您要在这里实现什么,但是当您在循环中执行 arrayy[i,0] 时,您是在说您想要获取零个元素。

当您传入两个数字作为数组的参数时,第一个数字是目标值的索引,第二个数字是长度。例如:

arr = ['a', 'b', 'c', 'd', 'e']
puts arr[2, 3] 

这将输出 ['c','d','e'],即“从索引为 2 的元素开始,抓取 3 个元素”。


推荐阅读