【Rust コーディング実況解説 #1】FizzBuzz問題をmatch式で美しく

แชร์
ฝัง

ความคิดเห็น • 9

  • @LOVE-eo8gz
    @LOVE-eo8gz ปีที่แล้ว +7

    お、これは個人的にうれしい! Rustの丁寧なエディタ支援に慣れるとほかが触れなくなる…

  • @unknown-user001
    @unknown-user001 ปีที่แล้ว +10

    Rustはマジで便利。でも仕事はない

  • @なな-x1m7m
    @なな-x1m7m ปีที่แล้ว +3

    matchの書き方面白い。そんな書き方できるのか。

  • @amazkaede
    @amazkaede  ปีที่แล้ว +2

    Rustにおけるアンダースコア(_)は、正確にはどんな値にも一致するけれども、値を束縛しないワイルドカードパターンです。
    the bookでは、この名称は「_ パターン」と呼ばれています。
    「_x記法」は変数を束縛する一方で、「_ パターン」は束縛しません。
    doc.rust-jp.rs/book-ja/ch18-03-pattern-syntax.html
    ```Rust
    fn main() {
    let x = 42;
    let _y = 10; // 「_x記法」変数_yを束縛するが、使用しない
    match x {
    1 => println!("One"),
    2 => println!("Two"),
    _ => println!("Other"), // 「_ パターン」他のすべての値をキャッチする
    }
    }
    ```

  • @asahi7614
    @asahi7614 ปีที่แล้ว +4

    Rust楽しい…pythonやんなきゃなのに…😅😅

  • @gpurunner3407
    @gpurunner3407 ปีที่แล้ว +1

    _ はワイルドカードというよりもただの変数パターンであることも言っておくのがいいかも
    訂正
    _ は束縛しないので変数パターンと呼ぶのは不適当でした

    • @amazkaede
      @amazkaede  ปีที่แล้ว

      確かに、誤解の原因になりますね
      ご指摘ありがとうございます

    • @gpurunner3407
      @gpurunner3407 ปีที่แล้ว +1

      @@amazkaede こっちも誤解がありました
      _ 単体では束縛しない だからマッチアームでは_を使って参照することはできない
      _変数名 だと束縛するという違いがあるようです
      束縛しないので変数パターンとは言えませんね。
      なんといえばいいんだろうかignore pattern でしょうか?
      SML#では匿名パターンと言っているようです

    • @amazkaede
      @amazkaede  ปีที่แล้ว

      こういう細かいところに気をつけなければなりませんね
      勉強になりました。ありがとうございます!