タスクの追加
CoddyのRustジャーニー「Logic & Flow」セクションの一部 — レッスン 16/66。
チャレンジ
簡単2つの入力を受け取ります。1つ目はカンマ区切りの既存のタスクリスト、2つ目は追加する新しいタスクです。両方の入力を読み込み、既存のタスクからベクタ(vector)を作成し、新しいタスクをそのベクタに追加して、更新されたタスクリストを表示してください。
要件:
- カンマ区切りのタスク説明を含む最初の入力を読み込みます(例:
Buy groceries,Call dentist) - 文字列をカンマで分割して、個々のタスクを取得します
- 可変(mutable)なベクタを作成し、各既存タスクをそこに追加します
- 追加する新しいタスクを含む2番目の入力を読み込みます
.push()を使用して、新しいタスクをベクタに追加します- タスクの総数を次の形式で出力します:
Total tasks: X - 各タスクを個別の行に次の形式で出力します:
Task: [task description]
入力:
- 1行目: カンマ区切りのタスク説明(例:
Buy groceries,Call dentist) - 2行目: 追加する新しいタスク(例:
Finish homework)
出力:
- 1行目:
Total tasks: X(Xは新しいタスクを追加した後のタスクの総数) - 続く行: 各タスクを
Task: [task description]として出力
自分で試してみよう
use std::io;
fn main() {
// 最初の入力を読み込む(カンマ区切りのタスク)
let mut existing_tasks = String::new();
io::stdin().read_line(&mut existing_tasks).expect("Failed to read line");
let existing_tasks = existing_tasks.trim();
// 2番目の入力を読み込む(追加する新しいタスク)
let mut new_task = String::new();
io::stdin().read_line(&mut new_task).expect("Failed to read line");
let new_task = new_task.trim();
// TODO: 以下にコードを記述してください
// existing_tasksをカンマで分割し、可変ベクトルを作成します
// 新しいタスクをベクトルに追加します
// タスクの総数を出力します
// 各タスクを指定された形式で出力します
}