我找到了一个实例方法Hash#initialize_copy
。但没有任何记录。任何人都可以在这方面用一些代码帮助我吗?
如何Hash#hash
计算哈希码?其背后的逻辑是什么?哈希码的使用场景有哪些?例如,散列的每个键是否h
总是具有不同的散列码?
编辑
我尝试了以下方法:
C:\Documents and Settings\rakshiar>irb
irb(main):001:0> h=Hash.new
=> {}
irb(main):002:0> h["a"]=2
=> 2
irb(main):003:0> h["b"]=2
=> 2
irb(main):004:0> "a".hash
=> 100
irb(main):005:0> "b".hash
=> 101
irb(main):006:0> h1=Hash.new
=> {}
irb(main):007:0> h1["a"]=2
=> 2
irb(main):008:0> h1["b"]=2
=> 2
irb(main):009:0> "a".hash
=> 100
irb(main):010:0> "b".hash
=> 101
irb(main):011:0> exit
但是您可以看到两个哈希 -h and h1
具有相同的key/value
组合。但是他们的哈希码怎么也一样呢?它也在文件中提到 - 我知道。但原因是什么?- 有人澄清一下吗?