연습 - 모듈

완료됨

이제 모듈 사용에 대해 배운 내용을 함수 및 가시성에서 사용할 수 있습니다.

다음 코드에는 몇 가지 컴파일러 오류가 있습니다. 이 연습에서는 main 함수를 수정하지 않은 채 코드를 성공적으로 컴파일하는 작업을 수행합니다.

mod text_processing {

    mod letters {
        fn count_letters(text: &str) -> usize {
            text.chars().filter(|ref c| c.is_alphabetic()).count()
        }
    }

    mod numbers {
        fn count_numbers(text: &str) -> usize {
           text.chars().filter(|ref c| c.is_numeric()).count()
        }
    }
}

fn count_letters_and_numbers(text: &str) -> (usize, usize) {
    let number_of_letters = ???;
    let number_of_numbers = ???;
    (number_of_letters, number_of_numbers)
}

fn main() {
    assert_eq!(count_letters_and_numbers("221B Baker Street"), (12, 3));
    assert_eq!(count_letters_and_numbers("711 Maple Street"), (11, 3));
    assert_eq!(count_letters_and_numbers("4 Privet Drive"), (11, 1));
}

Rust Playground 링크에서도 이 연습을 볼 수 있습니다.

이 연습에 대한 솔루션을 찾으려면 Rust Playground 링크를 확인하세요.