개요
Ruby에서 반복적인 동작을 수행하기 위해서, for
, while
그리고 until
반복문을 사용할 수 있습니다. 이번 블로그에서는 Ruby의 반복문과 반복문을 제어하는 방법에 대해서 알아봅니다.
반복문
For 반복문
For 반복문은 주어진 배열이나 범위를 사용하여, 반복적인 동작을 수행합니다.
for 요소 in 배열이나 범위 do
반복적인 동작
end
아래와 같이 For문을 사용하여 반복적인 동작을 수행할 수 있습니다.
a = [1, 2, 3]
for i in a do
puts i
end
# 1
# 2
# 3
위에 예제에서 do
는 아래와 같이 생략이 가능합니다.
a = [1, 2, 3]
for i in a
puts i
end
# 1
# 2
# 3
범위 연산자를 사용하여 아래와 같이 사용할 수도 있습니다.
for i in 1..3 do
puts i
end
# 1
# 2
# 3
범위 연산자에 관해서는 아래에 블로그를 참고하시기 바랍니다.
While 반복문
While 반복문은 주어진 조건이 성립하는 동안(true
), 반복적인 동작을 수행합니다.
while 조건 do
반복적인 동작
end
아래와 같이 While문을 사용하여 반복적인 동작을 수행할 수 있습니다.
i = 1
while i <= 3 do
puts i
i += 1
end
# 1
# 2
# 3
위에 예제에서 do
는 아래와 같이 생략이 가능합니다.
i = 1
while i <= 3
puts i
i += 1
end
# 1
# 2
# 3
또한 아래와 같이 사용할 수 있습니다.
i = 1
begin
puts i
i += 1
end while i <= 3
# 1
# 2
# 3
Util 반복문
Until 반복문은 주어진 조건이 성립할 때까지(false
), 반복적인 동작을 수행합니다.
until 조건 do
반복적인 동작
end
아래와 같이 Until문을 사용하여 반복적인 동작을 수행할 수 있습니다.
i = 1
until i > 3 do
puts i
i += 1
end
# 1
# 2
# 3
위에 예제에서 do
는 아래와 같이 생략이 가능합니다.
i = 1
until i > 3
puts i
i += 1
end
# 1
# 2
# 3
반복문 제어
For, While, Until 반복문을 제어하기 위해서 break
, next
, redo
그리고 retry
제어문을 사용할 수 있습니다.
Break 제어문
반복문에서 Break 제어문을 사용하여 강제로 반복적인 동작을 중지할 수 있습니다.
a = [1, 2, 3]
for i in a do
puts i
if i == 2 then
break
end
end
# 1
# 2
while 반복문에서 아래와 같이 사용할 수 있습니다.
i = 1
while i <= 3
puts i
i += 1
if i == 3 then
break
end
end
# 1
# 2
Until 반복문에서 아래와 같이 사용할 수 있습니다.
i = 1
until i > 3
puts i
i += 1
if i == 3 then
break
end
end
# 1
# 2
Next 제어문
반복문에서 Next 제어문을 사용하여 현재 진행중인 반복적인 동작을 중단하고 다음 동작으로 이동할 수 있습니다.
a = [1, 2, 3]
for i in a do
if i == 2 then
next
end
puts i
end
# 1
# 3
while 반복문에서 아래와 같이 사용할 수 있습니다.
i = 0
while i < 3
i += 1
if i == 2 then
next
end
puts i
end
# 1
# 3
Until 반복문에서 아래와 같이 사용할 수 있습니다.
i = 0
until i > 2
i += 1
if i == 2 then
next
end
puts i
end
# 1
# 3
Redo 제어문
반복문에서 Redo 제어문을 사용하여 현재 진행중인 반복적인 동작을 중단하고 같은 조건으로 다시 실행할 수 있습니다.
a = [1, 2, 3]
for i in a do
if i == 2 then
i = 10
redo
end
puts i
end
# 1
# 10
# 3
while 반복문에서 아래와 같이 사용할 수 있습니다.
i = 1
while i <= 3
puts i
i += 1
if i == 2 then
i = 10
redo
end
end
# 1
# 10
Yntil 반복문에서 아래와 같이 사용할 수 있습니다.
i = 1
until i > 3
puts i
i += 1
if i == 3 then
i = 10
redo
end
end
# 1
# 10
Retry 제어문
반복문에서 에러가 발생하였을 경우, Retry 제어문을 사용하여 반복문을 처음부터 다시 시도할 수 있습니다.
re = 1
a = [1, 2, 3]
begin
for i in a do
if re == 3 then
break
end
if i == 3 then
re += 1
raise "This is an exception"
end
puts i
end
rescue
retry
end
# 1
# 2
# 1
# 2
여기서 사용한 begin...rescue...end
는 다른 프로그래밍 언어에서 자주 사용되는 try...catch
구문으로, begin...rescue
안에서 의도하지 않는 에러가 발생하였을 경우, rescue...end
구문이 실행됩니다.
이번 예제에서는 raise
를 사용하여 강제적으로 의도하진 에러를 발생시킴으로써, retry
제어문을 사용하도록 했습니다.
완료
Ruby에서 사용할 수 있는 반복문에 대해서 알아보았습니다. 또한 반복문안에서, 반복문을 제어하는 방법에 대해서 알아보았습니다. retry
제어문이 조금 어려웠지만, 의도하지 않은 에러가 발생하였을 때, 반복문을 처음부터 다시 실행시킬 수 있는, 중요한 제어문이므로, 잘 기억하시길 바랍니다.
제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!
앱 홍보
Deku
가 개발한 앱을 한번 사용해보세요.Deku
가 개발한 앱은 Flutter로 개발되었습니다.관심있으신 분들은 앱을 다운로드하여 사용해 주시면 정말 감사하겠습니다.