2017-09-20 150 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

相關問題