ruby - 无法理解为什么将简单数组转换为简单哈希的代码不起作用
问题描述
下面附上代码。
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
此代码不输出任何内容。没有错误。所以,我猜问题是没有任何东西被添加到哈希中。
解决方案
不确定您要在这里实现什么,但是当您在循环中执行 arrayy[i,0] 时,您是在说您想要获取零个元素。
当您传入两个数字作为数组的参数时,第一个数字是目标值的索引,第二个数字是长度。例如:
arr = ['a', 'b', 'c', 'd', 'e']
puts arr[2, 3]
这将输出 ['c','d','e'],即“从索引为 2 的元素开始,抓取 3 个元素”。
推荐阅读
- laravel - php artisan queue:处理redis队列中的作业时工作卡住了
- azure-runbook - powersell 运行手册到图形运行手册
- google-chrome - Chromedriver.exe 挂在 Intern.js 脚本 Chrome 76 /ChromeDriver 76.0.3809.25 的末尾
- javascript - 验证前端应用程序和后端 REST API
- python-3.x - 如何在 python 中的 Dataframe 上使用 StringIO 函数?
- html - 相同的 x 轴和 y 轴滚动条的不同样式
- sql-server - 是否有用于在 sql 过程中比较产品版本的优化代码?
- r - 将因子“MM/YY”转换为 R 中的日期 YYYY-MM-DD
- python - 用于图像分析和生物信息学的 Python 代码
- c - 将虚拟内存映射到虚拟内存