Rust 練習問題
Reverse a String in Rust
Reverse characters and words correctly, including letters like é.
学べること
- chars().rev()
- collect into a String
- Reversing words
reverse("Rust")
- 1
chars()R u s t - 2
rev()t s u R - 3
collect()"tsuR"
Reverse characters, not bytes
Rust strings are UTF-8, so one character can take more than one byte. Reversing by characters with chars keeps letters such as é intact.
chars gives the characters one by one, rev reverses their order and collect builds a new String. split_whitespace does the same for words, and join puts them back together with spaces.
重要なポイント
- A character can take more than one byte.
- chars gives whole characters.
- collect builds the new String.
実行できる Rust のサンプル
Rust
main.rs
fn reverse(text: &str) -> String {
text.chars().rev().collect()
}
fn reverse_words(text: &str) -> String {
text.split_whitespace().rev().collect::<Vec<&str>>().join(" ")
}
fn main() {
println!("{}", reverse("Rust"));
println!("{}", reverse("héllo"));
println!("{}", reverse_words("safe fast productive"));
}
tsuR
olléh
productive fast safe練習
サンプルをオンラインコンパイラーで開き、値を変えたり行を追加したりして、実行する前に出力を予想してみましょう。次に、わざとコードを壊してコンパイラーのメッセージを読んでみてください。
このレッスンを終えましたか?
学習済みにすると進み具合を記録できます。
進み具合はこのブラウザーに保存されています ログインすると、どのデバイスでも引き継げます。
チャレンジで練習する
このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。
すべてのチャレンジ