Diciamo che ho un hash nidificato:Come impostare l'hash annidato in ruby in modo dinamico?
h = { 'one' =>
{'two' =>
{'three' => 'a'}
}
}
posso cambiare in questo modo:
h['one']['two']['three'] = 'b'
Come posso cambiare il valore nidificato con una variabile come una chiave?
Diciamo che ho la seguente variabile:
key = "one.two.three"
per accedervi in modo dinamico, io uso il seguente:
key.split('.').inject(h,:[])
Ma naturalmente impostare in questo modo non funziona:
key.split('.').inject(h,:[]) = 'b' # fails
Quindi, come posso impostare il valore di un hash annidato in modo dinamico?
Ho capito. Bella spiegazione – Markus