まとめ:最初の単語を見つける
CoddyのRustジャーニー「Logic & Flow」セクションの一部 — レッスン 58/66。
チャレンジ
簡単スペースで区切られた複数の単語を含む1つの文を入力として受け取ります。文字列スライスを使用して、その文から最初の単語を見つけて表示してください。
要件:
- 入力された文を読み込み、前後の空白を削除(trim)します
- 文の中の最初のスペースの位置を見つけます
- 文の先頭から最初のスペースの手前まで(スペースは含まない)の文字列スライスを作成します
- 最初の単語を表示します
ヒント: 最初のスペース文字を特定するには .find() メソッドを使用できます。引数としてスペース文字を渡し、sentence.find(' ') のように呼び出します。このメソッドは、スペースが見つかった場合にそのインデックスを含む Option を返します。スペースがない場合(単語が1つだけの場合)を考慮して、文の全数(sentence.len())をデフォルト値とするために .unwrap_or(sentence.len()) を使用してください。
入力:
- スペースで区切られた1つ以上の単語を含む文(例:
Hello World from Rust)
出力:
- 文の中の最初の単語
自分で試してみよう
use std::io::{self, BufRead};
fn main() {
// 入力を読み込む
let stdin = io::stdin();
let sentence = stdin.lock().lines().next().unwrap().unwrap().trim().to_string();
// TODO: 以下にコードを記述してください
// 最初のスペースの位置を見つける
// 先頭から最初のスペースまでの文字列スライスを作成する
// 最初の単語を変数に格納する
// 最初の単語を出力する
// println!("{}", first_word);
}