键必须是字符串或int,还是可以是任何对象类型?
答案 0 :(得分:5)
非常常见的类型是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
答案 1 :(得分:3)