Menu
Coddy logo textTech

향상된 for 루프

Coddy Rust 여정의 Fundamentals 섹션에 포함된 레슨 — 75개 중 66번째.

배열을 반복하는 여러 가지 방법이 있습니다. 그중 몇 가지는 다음과 같습니다:

다음 배열을 살펴봅시다:

let numbers = [1, 2, 3, 4, 5];
  • 직접 반복자(Direct Iterator):

    for num in numbers.iter() {}
    // 값: 1, 2, 3, 4, 5
  • 인덱스 & 값:

    for (index, value) in numbers.iter().enumerate() { }
    // 값들: (0,1), (1,2), (2,3), (3,4), (4,5)
  • 특정 크기의 슬라이스:

    for chunk in numbers.chunks(2) { }
    // 값: [1,2], [3,4], [5]
  • 가변 반복을 통한 순회:

    for num in numbers.iter_mut() { 
    	*num *= 2;
    }
    // 배열의 상태: [2, 4, 6, 8, 10]
challenge icon

챌린지

쉬움

항목과 가격이 포함된 쇼핑 리스트를 처리하고 데이터의 다양한 뷰를 제공하는 프로그램을 작성하세요.

프로그램은 다음을 수행해야 합니다:

  1. 각 항목 번호와 가격을 출력합니다 (enumerate 사용)
  2. 가격을 두 개씩 묶어 (chunks 사용) "bundle deals"로 출력합니다
  3. 모든 가격에 10% 할인을 적용합니다 (iter_mut 사용)
  4. 최종 할인된 가격을 출력합니다

치트 시트

Rust에서 배열을 반복하는 다양한 방법:

직접 반복자 (Direct Iterator):

for num in numbers.iter() {}
// 값: 1, 2, 3, 4, 5

enumerate를 이용한 인덱스 및 값:

for (index, value) in numbers.iter().enumerate() { }
// 값: (0,1), (1,2), (2,3), (3,4), (4,5)

chunks를 이용한 특정 크기의 슬라이스:

for chunk in numbers.chunks(2) { }
// 값: [1,2], [3,4], [5]

iter_mut를 이용한 가변 반복:

for num in numbers.iter_mut() { 
    *num *= 2;
}
// 배열 상태: [2, 4, 6, 8, 10]

직접 해보기

fn main() {
    let mut prices = [2.75, 1.50, 5.00, 3.5, 4.1, 2.25, 7.9];

    println!("Original Prices:");
    // TODO: enumerate를 사용하여 각 항목 번호와 가격을 출력하세요
    // 예상 결과: "Item 1: $2.99" 등


    println!("\nBundle Deals:");
    // TODO: chunks를 사용하여 가격 쌍과 그 합계를 출력하세요
    // 예상 결과: "Bundle 1: $2.99 + $1.50 = $4.49" 등


    // TODO: iter_mut를 사용하여 모든 가격에 10% 할인을 적용하세요


    println!("\nPrices after 10% discount:");
    // TODO: 할인 후 최종 가격을 출력하세요
    // 예상 결과: "$2.69" 등

}
quiz icon실력 점검

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

Fundamentals의 모든 레슨