1. ホーム
  2. syntax

[解決済み] F#の明示的マッチングと関数構文

2023-03-25 09:14:28

質問

曖昧なタイトルで申し訳ありませんが、この質問の一部は、これらの2つの構文スタイルが何と呼ばれているかということです。

let foo1 x = 
    match x with
    | 1 -> "one"
    | _ -> "not one"

let foo2 = function 
    | 1 -> "one" 
    | _ -> "not one"

もうひとつは、この2つの間にどんな違いがあるのか、どんなときにどちらを使ったらいいのか、ということです。

どのように解決するのですか?

matchバージョンを"パターンマッチ式"と呼びます。 関数バージョンはパターンマッチ関数と呼ばれます。 の6.6.4節に記載されています。 仕様 .

どちらを使うかは、スタイルの問題です。 私は、match文だけの関数を定義する必要があるときだけ、関数版を使うことを好みます。