2012-11-13 20 views
8

Sto provando ad accoppiare due coppie di valori chiave, ma non sono sicuro di come farlo. Qui di seguito è quello che ho cercato:valore coppia chiave ruby ​​Array?

struc = Array[(3,4),(5,6)] 
for i in 0..1 
    puts "#{struc[i,i]}" 
end 

Ma la mia uscita desiderata è la seguente (che il blocco di codice precedente non produce):

3 4 
5 6 

risposta

10

provare questo:

arr = [[3,4],[5,6]] 
arr.each do |(a,b)| 
    puts "#{a} #{b}" 
end 

anche la sintassi dell'array (Array[(3,4),(5,6)]) non è corretta.

18

Perché non utilizzare un hash. Con esso, si può fare:

struc = {3 => 4, 5 => 6} 

Per l'uscita del risultato, è possibile utilizzare il metodo each_pair, in questo modo:

struc.each_pair do |key, value| 
    puts "#{key} #{value}" 
end 
+1

risposta impressionante! Grazie! – TheMouseMan

0

In Ruby 2.3 è possibile effettuare le seguenti operazioni:

arr = [[3,4],[5,6]] 
arr.each do |a,b| 
    puts "#{a} #{b}" 
end 
Problemi correlati