假设我执行以下操作:
lph = Hash.new([]) #=> {}
lph["passed"] << "LCEOT" #=> ["LCEOT"]
lph #=> {} <-- Expected that to have been {"passed" => ["LCEOT"]}
lph["passed"] #=> ["LCEOT"]
lph["passed"] = lph["passed"] << "HJKL"
lph #=> {"passed"=>["LCEOT", "HJKL"]}
我对此感到惊讶。有几个问题:
- 为什么直到我将第二个字符串推到数组中才设置它?背后发生了什么?
- 在ruby中,更符合惯用法的方式是什么? 我有一个哈希表、一个键和一个值,我想将其结束在与键相关联的数组中。如何将与键相关联的数组中的值第一次推入哈希表中。在以后使用该键时,我只想添加到数组中。