구 원트노/루비 기초

[루비 기초]3장 기초 반복문

반복문

특정한 작업이 반복되어질 때 사용하는 제어 구분입니다.
루비에서는 여러 종류의 반복문 문법이 존재하는데 이번 포스팅에서는 기초적인 반복문 구문을 작성하겠습니다.

while 반복문

1
2
3
4
5
6
7
8
9
10
while 조건 do
    코드
end
 
i=0
while i<3 do
    puts i
    i+=1    
end
# 0 1 2 
cs

조건이 참인 동안 코드가 반복 실행됩니다.

밑에 예제 코드를 확인해 본다면 i가 3미만 일 때까지 

반복 코드가 실행되는 코드입니다.


until 반복문

1
2
3
4
5
6
7
8
9
10
until 조건 do
    코드
end
 
i=0
until i>2 do
    puts i
    i+=1
end
# 0 1 2
cs

until 반복문은 조건이 거짓인 동안 반복되어집니다.

while 반복문과 반대라고 생각하면 됩니다.

특정 조건이 참이 되면 반복이 종료됩니다.


for 반복문

1
2
3
4
5
6
7
8
for 변수 in 표현식 do
    코드
end
 
for i in 0..2 do
    puts i
end
# 0 1 2
cs

변수가 표현식에 순차적으로 할당됩니다.

밑에 예를 보면 while 반복문과 같은 결과를 출력함을 볼 수 있습니다.

여기서 0..2는 0에서 2까지의 범위를 뜻합니다.

그래서 i는 0부터 2까지 순차적으로 할당되어 결과로 0 1 2를 리턴 했습니다.


times 반복문

1
2
3
4
5
6
7
8
숫자.times do
    코드
end
 
3.times do
    puts '!'
end
# ! ! !
cs

가장 직관적인 반복문이라고 생각합니다. 

숫자만큼 코드가 반복됩니다.

밑에 예제를 보면 3회 코드가 반복되어 ! ! !가 출력 되었습니다.


반복문 점프 구문

반복문을 처리 도중 종료하거나 다음 반복으로 넘어가거나 등 처리를 할 때
사용되는 것이 점프 구문입니다.


break

1
2
3
4
5
6
7
8
9
i=0
while i<6 do
    puts i
    if i == 3
        break
    end
    i+=1
end
# 0 1 2 3 (4와 5는 실행 X)
cs

반복문을 중간에 종료하고자 할 때 사용하는 것이

break문입니다.

코드로 확인해보면 0에서 5까지 출력 되는 반복문에서

만약 i가 3이라면 break를 하라는 조건문이 있습니다.

이렇게 반복문 안에서 break를 만나게 되면 

반복문이 종료됩니다.


무한루프 예

1
2
3
4
5
6
7
8
9
i=0
while true do
    puts i    
    if i == 3
        break
    end
    i+=1   
end
# 0 1 2 3 (4와 5는 실행 X)
cs

break는 이렇게 while true와 같이 계속 돌아가는 무한 루프문에서

유용하게 사용됩니다.


next

1
2
3
4
5
6
7
for i in 0..5
    if i == 3
        next
    end
    puts i
end
# 0 1 2 4 5 (3이 넘어간다)
cs

반복문 안에서 next를 만나면 다음 반복문으로 넘어갑니다.

i가 3일 때 next가 실행되는데 그래서 3은 출력 되지 않았습니다. 


여기까지 루비에서 간단한 반복문에 대해 알아봤습니다.

사실 루비에서는 이런 반복문보다 이터레이터를 더 많이 사용합니다.

뒤에 이터레이터에 대한 내용을 설명하겠습니다.

감사합니다.


궁금하신 점 있으시면 댓글 남겨주세요!!