반응형
while과 until
루비의 조건문에 if
, unless
가 있던 것처럼, while
에도 반대에 해당하는 until
이라는 것이 있습니다.until
은 조건이 거짓일 때 반복되는 반복문입니다.
i = 3
until i < 1
print i
end
# 3 2 1
for
루비에는 전통적으로 사용되어 오던 for문(초기식; 조건식; 증감식)이 없고, 대신 for-in문이 있습니다.
규칙은 for 변수 in 범위값(Range)
입니다.
예를 들어, 단순 반복을 5회 하고 싶다면
for num in 1..5
# doSomething
end
으로 5회 반복이 가능합니다.
그리고 이러한 반복문을 제어하는 명령어로 break
와 next
(continue가 아닙니다)를 제공합니다.
loop
단순 반복문(조건에 따른 break
가 없다면 무한 반복)을 만들 수 있습니다.
i = 0
loop do
print "HI!"
i += 1
break if i > 4
end
# HI! HI! HI! HI! HI!
times
times
반복 메소드로, 정수형 값에서 불러 쓸 수 있는데요, 이때 해당 정수의 값만큼 반복하는 작업을 수행하게 됩니다.
3.times do
print "HI!"
end
# HI! HI! HI!
each
each
는 여러 값을 가진 객체(배열이나 해시 등)에서 사용할 수 있는 반복 메소드입니다.
for-in과 마찬가지로, 값을 하나씩 꺼내 반복하는 작업을 수행합니다.
여기서 값을 받는 변수는 | |
안에 넣어 사용합니다.
arr = [ 1, 2, 3 ]
arr.each do | i | # arr의 값을 하나씩 꺼내 i에 할당
print i
end
# 1 2 3
해시처럼 한 객체 안의 데이터가 한 개 이상인 경우엔 여러 변수에 할당할 수 있습니다.
hash = { a: 10, b: 20 }
hash.each { | key, value | # do 대신 괄호를 사용
puts "K: ${key} V: ${value}"
}
# K: a V: 10
# K: b V: 20
'개발 > Ruby on Rails' 카테고리의 다른 글
Ruby : 기초(6) 클래스 (0) | 2020.03.14 |
---|---|
Ruby : 기초(5) 메소드 (0) | 2020.03.14 |
Ruby : 기초(4) 해시와 심볼 (0) | 2020.03.14 |
Ruby : 기초(2) 연산 (0) | 2020.03.13 |
Ruby : 기초(1) 변수 (0) | 2020.03.13 |