루비 프로그래밍 언어의
다양한 반복문
Biweekly Lecture
2015-10-20
Ruby on Rails Korea
- ROR Lab. Season 4 -

Loops in Ruby

루비 어디까지 루프를 돌아봤니?
미묘하게 다른 루프 유형을 살펴봅니다.
gratisography.com
| 유 형 | 비 고 |
|---|---|
| loop | 무한 반복문, break 필요 |
| each | 배열(Array)의 요소 하나씩 처리 |
| for | 유사 each, 반복문의 변수는 반복실행후 사용가능 변수 스코프가 블록을 벗어나서 자주 사용하지 않음 |
| while | 조건부 무한반복문(조건이 참인 동안), do키워드생략가능 |
| until | 조건부 무한반복문(조건이 거짓인 동안), do키워드생략가능 |
| times | 루비에서 자주 쓰는 유형, 반복 횟수를 미리 정함 |
| step | 반복할 블록 안에 변수를 넘겨줄 때 n+씩 증가함. |
| upto | 반복할 블록 안에 변수를 넘겨줄 때 시작과 끝 범위를 정함 |
| downto | upto와 같으나 시작과 끝의 순서가 다름. |
| break | 무한 루프를 마치고 빠져나감 |
| next | 무한 루프를 빠져나가지 않고 아래 코드는 생략하고 다음 차례를 실행 |
| redo | 현재 코드 블록을 한 번 더 실행하여 무한 반복에 빠지기 쉬움 |
loop do
puts "I'm in loop"
end
#=> I'm in loop
#=> I'm in loop
#=> ...i = 0
loop do
break if i == 3
puts "I'm in loop"
i += 1
end
#=> I'm in loop
#=> I'm in loop
#=> I'm in loop%w(burger pizza steak).each do |food|
puts "I'm eating #{food}"
end
#=> I'm eating burger
#=> I'm eating pizza
#=> I'm eating steakfor food in %w(burger pizza steak)
puts "I'm eating #{food}"
end
for i in [1, 2, 3]
# some code
end
puts i
#=> 3
[1, 2, 3].each do |i|
# some code
end
i
# undefined local variable or method `i'
# for main:Object (NameError)i = 1
while i < 4 do
puts "#{i} is less than 4"
i += 1
end
#=> 1 is less than 4
#=> 2 is less than 4
#=> 3 is less than 4i = 1
until i == 4 do
puts "I'm #{i}, not 4"
i += 1
end
#=> I'm 1, not 4
#=> I'm 2, not 4
#=> I'm 3, not 4
i = 1
until i == 4
puts "I'm #{i}, not 4"
i += 1
end3.times do
puts "I'm working"
end
#=> I'm working
#=> I'm working
#=> I'm working(0..4).step(2) do |i|
puts i
end
#=> 0
#=> 2
#=> 43.upto 5 do |i|
puts i
end
#=> 3
#=> 4
#=> 53.downto 1 do |i|
puts i
end
#=> 3
#=> 2
#=> 1(0..4).each do |i|
break if i == 3
puts i
end
#=> 0
#=> 1
#=> 2(0..3).each do |i|
next if i == 2
puts i
end
#=> 0
#=> 1
#=> 3(1..3).each do |i|
i += 1
puts i
redo if i == 2
end
#=> 2
#=> 3
#=> 3
#=> 4(1..3).each do |i|
puts i
redo if i == 2
end
#=> 1
#=> 2
#=> 2
#=> ...https://prograils.com/posts/loops-in-ruby-all-possible-approaches
루비 반복문
By wagurano
루비 반복문
루비 프로그래밍 언어의 다양한 반복문을 살펴봅니다.
- 1,805