SORU
26 AĞUSTOS 2010, PERŞEMBE


Ne's 'Ruby yolu' iki dizi aynı anda üzerinde yineleme

Bir sorun daha sözdizimi bir merakı daha çözmek için

Eşit uzunlukta iki dizi var, ve ikisini de aynı anda - örneğin, belirli bir dizin, hem kendi değerlerini çıkış için yinelemek istiyorum.

@budget = [ 100, 150, 25, 105 ]
@actual = [ 120, 100, 50, 100 ]

each_index kullanım gibi: diziler içine dizin biliyorum

@budget.each_index do |i|
  puts @budget[i]
  puts @actual[i]
end

Bir yokturRuby şekildebu daha iyi yapmak için? Bir şeygibibu?

# Obviously doesn't achieve what I want it to - but is there something like this?
[@budget, @actual].each do |budget, actual|
  puts budget
  puts actual
end

CEVAP
26 AĞUSTOS 2010, PERŞEMBE


>> @budget = [ 100, 150, 25, 105 ]
=> [100, 150, 25, 105]
>> @actual = [ 120, 100, 50, 100 ]
=> [120, 100, 50, 100]

>> @budget.zip @actual
=> [[100, 120], [150, 100], [25, 50], [105, 100]]

>> @budget.zip(@actual).each do |budget, actual|
?>   puts budget
>>   puts actual
>> end
100
120
150
100
25
50
105
100
=> [[100, 120], [150, 100], [25, 50], [105, 100]]

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bcbauer

    bcbauer

    7 ŞUBAT 2007
  • lifeisforsharingDT

    lifeisforsha

    18 Mayıs 2011
  • Ryan Ha

    Ryan Ha

    9 NİSAN 2006