2017-09-20 104 views
1

尝试将一部分的has分配给另一个变量。我有一个哈希。喜欢的东西:如何将散列的一部分分配给其他变量?

hash = { 
    "cupcake" => { 
     "a" => 1 
    }, 
    "muffin" => { 
     "b" => 2 
    } 
} 

当我做这样的事情:

cupcake = hash["cupcake"] 

蛋糕这个代码后。

+2

这不应该工作,这不是有效的Ruby代码。 – tadman

+1

我在irb编辑之后试过你的代码,它工作正常 – Ursus

+0

@Ursus找出它不工作的原因。是其他代码中的一个错误,它创建了别人写的哈希。我之前从未使用过红宝石,所以我认为也许不允许复制子哈希。谢谢你的帮助。 – wakinov

回答

3

如果你想字符串键,你必须使用此语法

hash = { 
    "cupcake" => { 
     "a" => 1 
    }, 
    "muffin" => { 
     "b" => 2 
    } 
} 

语法用冒号是符号键

hash = { 
    cupcake: { 
    a: 1 
    }, 
    muffin: { 
    b: 2 
    } 
} 

cupcake = hash[:cupcake] 
+1

是的,''a“:1'和'a:1'是相同的,尽管这是违反直觉的。 – tadman

+0

第一个模块并不是我的实际代码,我只是在现场编写它(以类似于json的表示形式来展示我想要做的一个例子,我将编辑原始文章。 – wakinov

相关问题