Menu
Coddy logo textTech

全タスクの表示

CoddyのRustジャーニー「Logic & Flow」セクションの一部 — レッスン 17/66。

challenge icon

チャレンジ

簡単

2つの入力を受け取ります。1つ目はカンマ区切りの既存のタスクリスト、2つ目は表示するタスク番号(1から始まるインデックス)です。両方の入力を読み取り、タスクからベクタを作成し、要求されたタスクをハイライトして、すべてのタスクを番号付きで表示してください。

要件:

  • カンマ区切りのタスクの説明を含む最初の入力を読み取ります(例: Buy groceries,Call dentist,Finish homework
  • 文字列をカンマで分割して、個々のタスクを取得します
  • ベクタを作成し、各タスクをそれに追加します
  • 2番目の入力を読み取り、整数に変換します(ハイライトするタスク番号、1から始まるインデックスを使用)
  • タスクの総数を次の形式で出力します: Total tasks: X
  • ベクタを反復処理し、各タスクをその番号(1から始まる)と共に出力します
  • 要求されたタスク番号については、次の形式で出力します: [X] [task description] (selected)
  • 他のすべてのタスクについては、次の形式で出力します: [X] [task description]

入力:

  • 1行目: カンマ区切りのタスクの説明(例: Buy groceries,Call dentist,Finish homework
  • 2行目: ハイライトするタスク番号を表す整数(1から始まるインデックス)

出力:

  • 1行目: Total tasks: X (Xはタスクの総数)
  • 続く行: 各タスクとその番号を [X] [task description] の形式で出力
  • 選択されたタスクには、末尾に (selected) を追加する必要があります。

自分で試してみよう

use std::io::{self, BufRead};

fn main() {
    let stdin = io::stdin();
    let mut lines = stdin.lock().lines();
    
    // カンマ区切りのタスクを読み込む
    let tasks_input = lines.next().unwrap().unwrap();
    
    // ハイライトするタスク番号を読み込む
    let task_number: usize = lines.next().unwrap().unwrap().trim().parse().unwrap();
    
    // TODO: 以下にコードを記述してください
    // tasks_inputをカンマで分割し、ベクトルを作成します
    // タスクの総数を出力します
    // タスクをループで回し、各タスクを番号と共に出力します
    // 選択されたタスクに " (selected)" を追加してハイライトします
    
}

Logic & Flowのすべてのレッスン