2012-11-13 12 views
8

Próbuję powiązać dwie pary wartości klucza, ale nie jestem pewien, jak to osiągnąć. Poniżej jest to, co próbowałem:ruby ​​Array wartość pary kluczy?

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

Ale mój sygnał wyjściowy jest następujący (co poprzedni blok kodu nie produkują):

3 4 
5 6 

Odpowiedz

10

spróbuj tego:

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

także składnia macierzy (Array[(3,4),(5,6)]) jest niepoprawna.

18

Dlaczego nie używać skrótu. Dzięki niemu można zrobić:

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

do wyprowadzenia wyniku, można użyć metody each_pair, tak:

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

wspaniała odpowiedź! dzięki! – TheMouseMan

0

W Ruby 2.3 można wykonać następujące czynności:

arr = [[3,4],[5,6]] 
arr.each do |a,b| 
    puts "#{a} #{b}" 
end 
Powiązane problemy