相关疑难解决方法(0)

Ruby方法Array#<<不用哈希更新数组

灵感来自我如何用数组编组哈希?我想知道Array#<<在以下代码中无法正常工作的原因是什么:

h = Hash.new{Array.new}
#=> {}
h[0]
#=> []
h[0] << 'a'
#=> ["a"]
h[0]
#=> [] # why?!
h[0] += ['a']
#=> ["a"]
h[0]
#=> ["a"] # as expected
Run Code Online (Sandbox Code Playgroud)

它是否与<<在就地更改数组的事实有关,同时Array#+创建了一个新实例?

ruby arrays hash

14
推荐指数
1
解决办法
1437
查看次数

Marshal ruby​​ hash with default proc - 删除默认的proc?

我有一个带有默认proc的哈希,我想将Marshal设置为一个文件,但默认的proc会阻止我这样做.

而不是写我自己_dump_load方法,是有可能,而不是删除默认PROC呢?在我编组时,我永远不会再需要默认的proc.

ruby hash marshalling

11
推荐指数
2
解决办法
2007
查看次数

标签 统计

hash ×2

ruby ×2

arrays ×1

marshalling ×1