次の行はコンパイルされません:「関数」構文を使用してパターンマッチングを実行するときに値を取得するにはどうすればよいですか?
| IsNeither -> sprintf "%i" // ???
をここでは、この行が属する機能があります:
let run = function
| IsFizzBuzz -> "Fizz Buzz"
| IsFizz -> "Fizz"
| IsBuzz -> "Buzz"
| IsNeither -> sprintf "%i" // Doesn't compile
ここでは、プログラム全体です: モジュールの温度
は、let (|IsFizz|IsBuzz|IsFizzBuzz|IsNeither|) = function
| n when n % 3 = 0 &&
n % 5 = 0 -> IsFizzBuzz
| n when n % 3 = 0 -> IsFizz
| n when n % 5 = 0 -> IsBuzz
| n -> IsNeither
let run = function
| IsFizzBuzz -> "Fizz Buzz"
| IsFizz -> "Fizz"
| IsBuzz -> "Buzz"
| IsNeither -> sprintf "%i" // Doesn't compile
let result = [1..16] |> List.map(run)
署名の "function"構文を使用して値を抽出することはできますか?
例:
let (|IsFizz|IsBuzz|IsFizzBuzz|IsNeither|) = function