所以我有以下哈希值:
positions = {
running: ["Kenny", "Joan", "Shabaz"],
receivers: ["Luke", "Chris", "Megan", "Mark", "Mackenzie"],
quarterback: ["Johnny"]
}
撬起,我可以使用:linemen
将带有空数组的positions
键添加到team.merge({:linemen =>[]})
... ...但是,这仅在手动输入pry
提示时有效。我希望最终结果看起来像这样:
positions = {
running: ["Kenny", "Joan", "Shabaz"],
receivers: ["Luke", "Chris", "Megan", "Mark", "Mackenzie"],
quarterback: ["Johnny"]
linemen: []
}
team.merge({:linemen =>[]})
仅能撬动我在做什么错?
此
team.merge(:linemen =>[])
返回一个新的哈希,并且不更改接收者对象。您可以看到pry的返回值,因为pry可以这样工作,它可以显示表达式的计算结果。
如果要更改接收者对象,则必须采取以下方式:
1)使用合并!改为更改接收者对象
team.merge!(:linemen =>[])
2)将新的哈希分配给变量(即使您不需要更改,也可以使用同样的方法)
team_with_linemen = team.merge(:linemen =>[])