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!("{}", 出力); }