在Ruby哈希中使用整数作为键合适吗?

文档中的每个示例都显示一个字符串或符号用作键,但从来不是整数.

在内部,整数会被转换成字符串吗?我在这个问题上看到了一些相互矛盾的信息.

换句话说,对散列使用整数键有什么明显的缺点吗?

推荐答案

当然你可以用整数作为键...

h = {1 =>; 'one', 2 =>; 'two', 3 =>; 'three'}

(1..3).each do |i|
  puts h[i]
end
 

=>;

one
two
there

irb是你的朋友!试试看..


实际上,您可以使用any Ruby object作为键(或值).

编辑:

Ruby相关问答推荐

带有(*)签名的Ruby方法

关键字if是什么对象类型/类?

如何修复 '535-5.7.8 用户名和密码未被接受.在 Devise 邮件确认错误中了解更多信息?

有没有办法保存 ruby​​ 代码的执行,以便稍后使用逐步重播对其进行调试?

使用 Ruby 仅删除数组中的特定重复项

如何在 Shopify 脚本编辑器中显示数组值?

如何使用 Ruby 的 optparse 解析没有名称的参数

给url添加参数

从 Time 对象获取下/上个月

如何在Ruby中从字符串中go 除前导和尾随引号

按键对哈希进行分组并对值求和

需要必要的库和/或头文件时如何安装 ruby​​-debug

如何在 ruby​​ 中针对正则表达式测试整个字符串?

Ruby中的常量或类变量?

迭代一个数组,一次 n 项

将数组分成 n 组 m 大小?

Ruby 的所有/最佳列表?

我应该如何在哈希上使用 each_with_object?

如何理解 strptime 与 strftime

Ruby:捕获异常后继续循环