ruby - 为什么ruby语言中哈希的重复键不返回错误?
问题描述
A. 以String为key的重复key
irb(main):001:0> myHash = {'a' => 'a', 'a' => 'a'}
(irb):1: warning: key "a" is duplicated and overwritten on line 1
B. 以数组为键的重复键
irb(main):001:0> myHash = {[1,2,3] => [1,2,3], [1,2,3] => [4,5,6]}
=> {[1, 2, 3]=>[4, 5, 6]}
解决方案
对于作为键的重复字符串,不会引发错误,而是警告。
在这两种情况下,重复键都被覆盖为一个,因为这里的返回值是 {"a"=>"a"} 和 {[1, 2, 3]=>[4, 5, 6]}。
推荐阅读
- ubuntu - 在 ubuntu 上使用终端列出当前目录中所有可见和隐藏的目录类型(前面带有点)
- c# - ACE OLEDB 12.0 属性 HRD=NO 不起作用
- python-3.x - 我的 if-else 语句和变量赋值有什么问题?
- python - Flake8 和 atom 的问题
- python - Python 对 DataFrame 中的列进行排序以进行 OLS 回归
- java - 即使在 jsp 中更改,“动作”在 servlet 中也不会更改
- javascript - file_get_contents PHP Uncaught SyntaxError:无效或意外令牌
- html - nil 不能转换为时间值
- .net-core - dotnetcore CopyToOutputDirectory 创建深层嵌套文件夹结构
- typescript - 如何使用打字稿在云功能中使用admin sdk从firebase读取数据