연습 - 모듈
이제 모듈 사용에 대해 배운 내용을 함수 및 가시성에서 사용할 수 있습니다.
다음 코드에는 몇 가지 컴파일러 오류가 있습니다. 이 연습에서는 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 링크를 확인하세요.