如何以正确的姿势传一个 hash 参数 03 社区 03 Ruby China

Python017

如何以正确的姿势传一个 hash 参数 03 社区 03 Ruby China,第1张

完全没有明白你的意思。 a = []a 1}a 2} # [{"one"=>1}, {"two"=>2}]a[1]["two"] = 3 # [{"one"=>1}, {"two"=>3}] 如上,改变了第二个元素的值,第一个元素并没有变。

奔驰rubyh唱头的参数如下:

针杆:固体硼棒直径0.28毫米。

针尖类型:裸线接触钻石,镜面抛光。

重量:10.7克,垂直跟踪角度:20°。

输出电压: 2.5mV,内部阻抗:120 ohms,负载范围:1-47k ohms。

唱针压力范围:1.8-2.2克,推荐唱臂质量:中,高。

终于明白你的意思了。这不是 hash 的问题,是 Array.new 的用法不对,你这样做是指用{}这个对象填充3遍,就是说是同一个对象填充了3次,所以无论你修改哪一个对象,其它的都会跟着变,因为是同一对象。

http://www.ruby-doc.org/core-2.2.0/Array.html#method-c-new-label-Common+gotchas

以上是 ruby 文档,他给出了正确的用法:

a = Array.new(2) { Hash.new }