Menu
Coddy logo textTech

Each 반복자

Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 65번째.

Ruby는 for 또는 while 루프를 사용하는 것보다 배열을 반복하는 더 우아한 방법을 제공합니다. each 반복자는 컬렉션의 모든 요소를 처리하는 권장되는 Ruby 방식입니다.

기본 구문은 다음과 같습니다:

fruits = ["apple", "banana", "cherry"]

fruits.each do |fruit|
  puts fruit
end

이 코드는 각 과일을 별도의 줄에 출력합니다. 파이프 기호 사이의 변수(|fruit|)는 블록 변수라고 불립니다. 반복자(iterator)가 배열을 통과할 때 각 요소를 일시적으로 저장합니다.

한 줄 블록의 경우, do...end 대신 중괄호를 사용할 수 있습니다:

numbers = [1, 2, 3]
numbers.each { |n| puts n * 2 }

each 메서드는 각 요소에 대해 모든 작업을 수행할 수 있기 때문에 강력합니다. 다음은 누적 합계를 계산하는 예제입니다:

prices = [10, 25, 15]
total = 0

prices.each do |price|
  total += price
end

puts total  # 출력: 50

for 루프와 달리, each의 블록 변수는 블록 내에 유지되어 코드를 더 깔끔하게 만들고 예상치 못한 동작이 발생할 가능성을 줄여줍니다.

challenge icon

챌린지

쉬움

쉼표로 구분된 정수들이 포함된 한 줄의 입력을 읽습니다 (예: 4,7,2,9,5).

입력을 정수 배열로 분할한 다음, each 반복자를 사용하여 다음을 수행하세요:

  1. 각 숫자에 3을 곱한 값을 각각 별도의 줄에 출력합니다.
  2. 모든 숫자의 합계를 계산하고 반복문이 끝난 후 출력합니다.

배열을 반복하면서 합계를 누적하기 위해 반복문 이전에 0으로 초기화된 변수를 사용하세요.

예를 들어, 입력이 4,7,2,9,5인 경우 출력은 다음과 같아야 합니다:

12
21
6
27
15
Sum: 27

입력이 10,20,30인 경우 출력은 다음과 같아야 합니다:

30
60
90
Sum: 60

입력이 1,2,3,4인 경우 출력은 다음과 같아야 합니다:

3
6
9
12
Sum: 10

입력이 5인 경우 출력은 다음과 같아야 합니다:

15
Sum: 5

치트 시트

each 반복자는 배열을 루프하는 선호되는 Ruby 방식입니다:

fruits = ["apple", "banana", "cherry"]

fruits.each do |fruit|
  puts fruit
end

파이프 사이의 변수(|fruit|)는 각 요소를 일시적으로 보유하는 블록 변수입니다.

단일 행 블록의 경우 중괄호를 사용하세요:

numbers = [1, 2, 3]
numbers.each { |n| puts n * 2 }

각 요소에 대해 합계를 계산하는 것과 같은 작업을 수행할 수 있습니다:

prices = [10, 25, 15]
total = 0

prices.each do |price|
  total += price
end

puts total  # 출력: 50

직접 해보기

# 쉼표로 구분된 정수 읽기
input = gets.chomp

# 입력을 정수 배열로 분할
numbers = input.split(",").map(&:to_i)

# 합계 변수 초기화
sum = 0

# TODO: 아래에 코드를 작성하세요
# each 반복자를 사용하여 다음을 수행하세요:
# 1. 각 숫자에 3을 곱하여 출력
# 2. 각 숫자를 sum 변수에 더하기

# 최종 합계 출력
puts "Sum: #{sum}"
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨