哈希键是否有字符限制?

时间:2013-10-09 05:46:02

标签: ruby

以下代码在repl.it和codeacademy实验室上失败,但是当我选择密钥长度< 8,它的工作原理。 irb中的密钥长度都没有。

这只是网络REPL的一个问题,还是对密钥长度有实际限制?

class Fixnum

    def in_words
        words =
        {
           100000000 => "trillion"
        }
        puts words[self]
    end

end

100000000.in_words

1 个答案:

答案 0 :(得分:1)

在控制台中一切都是对的,所以我相信这是个问题

2.0.0p247 :001 > words = {100000000 => "trillion"}
 => {100000000=>"trillion"} 
2.0.0p247 :002 > words[100000000]
 => "trillion" 

实际上哈希不按原样使用密钥,而是使用哈希值

2.0.0p247 :011 > 100000000.hash
 => -2175987708688930977 
2.0.0p247 :012 > 1.hash
 => 4338493366955093097

所以在这个意义上所有的键都有相同的长度。