Domanda

fruit = ["apple","red","banana","yellow"]
=> ["apple", "red", "banana", "yellow"]

Hash[*fruit]    
=> {"apple"=>"red", "banana"=>"yellow"}

Perché lo splat causa della matrice da così bene analizzato nel Hash?

O, più precisamente, come fa il Hash "sa" che "mela" è la chiave e "rosso" è il suo corrispondente valore?

E 'semplicemente perché sono in posizioni consecutive nella matrice di frutta?

Ha importanza che il simbolo è qui utilizzato? Può un hash non definirsi da un Arry così direttamente altrimenti?

Altri suggerimenti

Guarda il metodo della classe pubblico [] in classe Hash. (Say, qui.) Essa afferma chiaramente che viene creato un nuovo Hash (esempio) e popolato con gli oggetti dati. Naturalmente, si verificano in coppie. L'operatore splat espande essenzialmente un array quando viene utilizzato come parametro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top