演習 - モジュール
関数と表示のモジュールで学習した内容を使うチャンスです。
次のコードにはいくつかのコンパイラ エラーがあります。 この演習での課題は、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 のリンクをご覧ください。