Ruby 如何将散列的一部分分配给另一个变量?
尝试将has的一部分分配给另一个变量。我有一份杂烩。比如:Ruby 如何将散列的一部分分配给另一个变量?,ruby,Ruby,尝试将has的一部分分配给另一个变量。我有一份杂烩。比如: hash = { "cupcake" => { "a" => 1 }, "muffin" => { "b" => 2 } } cupcake = hash["cupcake"] 当我做以下事情时: hash = { "cupcake" => { "a" => 1 }, "muffin" =>
hash = {
"cupcake" => {
"a" => 1
},
"muffin" => {
"b" => 2
}
}
cupcake = hash["cupcake"]
当我做以下事情时:
hash = {
"cupcake" => {
"a" => 1
},
"muffin" => {
"b" => 2
}
}
cupcake = hash["cupcake"]
cupcake在此代码后为nil。如果需要字符串键,则必须使用此语法
hash = {
"cupcake" => {
"a" => 1
},
"muffin" => {
"b" => 2
}
}
带冒号的语法用于符号键
hash = {
cupcake: {
a: 1
},
muffin: {
b: 2
}
}
cupcake = hash[:cupcake]
这不应该起作用,它不是有效的Ruby代码。我在irb中编辑后尝试了你的代码,它起作用了fine@Ursus弄明白为什么它不起作用了。是其他代码中的一个bug,它创建了其他人编写的哈希。我以前从未使用过ruby,所以我想可能不允许复制子哈希。谢谢你的帮助。没问题,我知道这段代码很好:)是的,
“a:1
和a:1
是相同的,尽管这是违反直觉的。第一块代码不是我的实际代码,我只是当场写了它(用类似json的表示法来展示我想要做的事情。我将编辑原始帖子。