在Ruby中,有一个名为Hash
的内置类。根据{{3}}:
Hash是一个类似字典的唯一键及其值的集合。也称为关联数组,它们类似于数组,但是当数组使用整数作为索引时,哈希允许您使用任何对象类型。
...
可以使用隐式表单轻松创建哈希:
grades = { "Jane Doe" => 10, "Jim Doe" => 6 }
基本上,他们是the docs。如果是这样,那为什么他们被称为哈希?在计算机科学中,不是术语" hash"通常用于指通过associative arrays运行某些数据生成的某种数字或十六进制字符串?事实上,Ruby对象甚至有一个名为hash function的方法,它为该对象生成一个Fixnum哈希值"。
我知道Ruby中的hash
是作为Hash
实现的,但鉴于我上面所说的,似乎没有足够的理由使用在Hash
或Table
之类的名称上Map
,特别是考虑到Ruby似乎没有hash table的任何其他内置实现。为什么选择这个名字?
答案 0 :(得分:5)
Ruby从Perl中获取了大量的灵感,而Perl称之为哈希。
<强>更新强>
Ruby的创始人Yukihiro Matsumoto证实:https://twitter.com/yukihiro_matz/status/547516495249428480