哈希使用数组作为红宝石的关键
发布时间:2020-12-16 19:53:29 所属栏目:百科 来源:网络整理
导读:我有一个使用数组作为其键的哈希.当我更改数组时,哈希值不能再获得相应的键值: 1.9.3p194 :016 a = [1,2] = [1,2] 1.9.3p194 :017 b = { a = 1 } = {[1,2]=1} 1.9.3p194 :018 b[a] = 1 1.9.3p194 :019 a.delete_at(1) = 2 1.9.3p194 :020 a = [1] 1.9.3p194
我有一个使用数组作为其键的哈希.当我更改数组时,哈希值不能再获得相应的键值:
1.9.3p194 :016 > a = [1,2] => [1,2] 1.9.3p194 :017 > b = { a => 1 } => {[1,2]=>1} 1.9.3p194 :018 > b[a] => 1 1.9.3p194 :019 > a.delete_at(1) => 2 1.9.3p194 :020 > a => [1] 1.9.3p194 :021 > b => {[1]=>1} 1.9.3p194 :022 > b[a] => nil 1.9.3p194 :023 > b.keys.include? a => true 我究竟做错了什么? 更新: 解决方法
#rehash方法将重新计算哈希值,所以在更改密钥之后:
b.rehash (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |