Ruby wynik programu

  • Rejestracja: dni
  • Ostatnio: dni
0

Witam

Czemu wynikiem tego programu

Kopiuj
1.upto(4) do |c|
	1.upto(c-1) do |b|
		puts "#{c}, #{b}"
	end
end

jest

Kopiuj
2, 1
3, 1
3, 2
4, 1
4, 2
4, 3

zamiast

Kopiuj
1, 1
1, 2
1, 3
2, 1
2, 2
2, 3
3, 1
3, 2
3, 3
4, 1
4, 2
4, 3

?

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
1

Próbowałeś chociaż zastanowić się krok po kroku co tam się dzieje? Jak myślisz, ile razy wykona się 1.upto(0), gdzie 0 to c-1 dla c równego 1?

Pipes
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 459
0

Ten przypadek nie jest odpowiednikiem dwóch zagnieżdżonych pętli for, tylko ten drugi zakres liczb jest dynamiczny na podstawie parametru c. Aby to Ci zadziałało, musisz mieć na sztywno wbite ramy, które chcesz przeglądać.

Kopiuj
(1..4).each do |x|
  (1..3).each do |y|
    puts "#{x}, #{y}"
  end
end

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.