RCIE-ジャンクのコード屋

主に自分のためにコーディングのTIPSを蓄積しています。

Rust 文字列で分岐する match, as_str

概要

  • 分岐するには match を使う。
  • 文字列を比較対象にするには as_str を使う。
コード
  • 入力されたのが「いぬ」なら「ワン」と出力する。
  • 入力されたのが「ねこ」なら「ニャー」と出力する。
  • 入力されたのが「ひと」なら「オギャア」と出力する。
  • それ以外が入力されたら「?」と出力する。
use std::io::*;

fn main() {
    let 入力 = コンソール入力();
    let 出力 = match 入力.as_str() {
        "いぬ" => "ワン",
        "ねこ" => "ニャー",
        "ひと" => "オギャア",
        _ => "?"
    };
    println!("{}", 出力);
}

fn コンソール入力() -> String {
    let mut バッファ = String::new();
    stdin().read_line(&mut バッファ).unwrap();
    バッファ.trim().to_string()
}
解説
fn main() {
    let 入力 = コンソール入力();
    // └ コーンソール入力された文字列を「入力」に入れる。

    let 出力 = match 入力.as_str() {
    // └ 入力.as_str:伸ばせる文字列を、固定文字列に変換する。
    // └ match:固定文字列の内容で場合分けする。

        "いぬ" => "ワン",
        "ねこ" => "ニャー",
        "ひと" => "オギャア",
        // └ "いぬ" に一致すれば "ワン" を「出力」に入れる。

        _ => "?"
        // └ 一致しなかった場合 "?" を「出力」に入れる。
    };
    println!("{}", 出力);
}