티스토리 뷰

Ruby & Rails

Ruby 처음 배우기 : 반복문

조묵헌 2018. 5. 10. 17:40

반복문

while문은 조건식이 true인 동안 처리를 반복합니다.

# 321 출력
i = 3
while i > 0 do
  print i
  i -= 1
end

Until문은 while문과 유사하며, 조건식이 false인 동안 처리를 반복합니다.

# 321 출력
j = 3
until j == 0 do
  print j
  j -= 1
end

# 6 출력
i = 0
until i == 6
  i += 1
end
puts i

For...in 문은 range 객체의 값을 하나씩 꺼내어 반복하는데 사용되며 사용법은 아래와 같습니다.

for variable in range
  puts variable
end

# 1부터 10까지 출력
for num in 1..10
  puts num
end
#=> 1..10

반복문에서는 구문 종료와 건너뛰기를 위한 키워드를 제공합니다.

break : 구문 종료

next : 구문 건너뛰기

# 짝수 출력하지 않기
for i in 1..5
  next if i % 2 == 0
  print i
end

Iterator

루비에서는 for문보다 다양한 iterator 메서드를 사용해 손쉽게 반복을 구현할 수 있습니다.

loop 문

loop 문을 이용하면 간단하게 반복문을 생성할 수 있습니다. 하지만 break 문 등을 이용해서 종료 조건을 명시해 주지 않으면 무한 루프에 빠질 수 있으므로 주의해야 합니다.

# loop문을 이용해서 1 부터 10까지 출력하기
i = 1
loop do
  puts i
  i += 1
  break if i > 10
end

.upto and .downto 메서드

95.upto(100) { |num| print num, " " }
# ==> 95 96 97 98 99 100

"L".upto("P") { |w| puts w }
# ==> L M N O P

.times 메서드

# 문자열을 10회 반복해서 출력하기
10.times { print "Do cats eat bats?" }

.each 메서드

each 메서드는 배열 및 해시 등 객체의 각 요소에 대해 순차적으로 블럭 내의 수식을 적용합니다. 블록 내부의 || 사이에는 임의의 변수이름을 사용하여 각 요소에 특정한 명령을 수행할 수 있습니다.

odds = [1,3,5,7,9]
odds.each do |item|
  item *= 2
  print item
end

해시의 경우, |key, value| 의 형식으로 키-값 쌍을 순회할 수 있습니다.

names = { dinah: "cat", march_hare: "rabbit", dormouse: "rat" }

names.each { |name, species| puts "#{name} is #{species}" }
# dinah is cat
# march_hare is rabbit
# dormouse is rat

'Ruby & Rails' 카테고리의 다른 글

Ruby 처음 배우기 : Block & Yield  (0) 2018.05.10
Ruby 처음 배우기 : 메서드  (0) 2018.05.10
Ruby 처음 배우기 : 반복문  (1) 2018.05.10
Ruby 처음 배우기 : 조건문  (0) 2018.05.10
Ruby 처음 배우기 : Hash, Symbol  (0) 2018.05.10
Ruby 처음 배우기 : 배열  (0) 2018.05.10
댓글
  • 프로필사진 김태성 until문에서 do가 있는것도 있고 없는것도 있던데 둘의 차이는 무엇인가요?
    do의 역할으 무엇인가요??
    2021.08.13 23:43
댓글쓰기 폼