Ruby哈希键可用的类型

3
一个关键字必须是字符串或整数吗?还是可以使用任何对象类型?

1
只需要30秒尝试一下,不是吗? :) - Sergio Tulentsev
@AlanDert Stack Overflow使用英语,请只用英语发帖或评论,不要使用其他任何语言。 - Andrew Marshall
2个回答

7
一个非常常见的类型是Symbol,你没有提到它。但实际上它可以是任何对象。
class Foo; end

f1, f2 = Foo.new, Foo.new

h = {
  f1 => 3,
  f2 => 4
}

h # => {#<Foo:0x007fed4b04bb00>=>3, #<Foo:0x007fed4b04bad8>=>4}
h[f1] # => 3
h[f2] # => 4

@AlanDert,我认识你吗? :) - Sergio Tulentsev
如果你这样做的话,你会更好。 - Alan Coromano

5

文档未说明?

[Hash] 类似于 Array,不同的是索引是通过任意对象类型的任意键进行的,而不是整数索引。

(强调我的。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接