小编dlk*_*kmp的帖子

F#模式匹配嵌套的判别联盟

我有一个嵌套的歧视联盟代表一副扑克牌:

type Symbol =
| Seven
| Eight
| Nine
| Ten
| Jack
| Queen
| King
| Ace

type Card =
| Heart of Symbol
| Diamond of Symbol
| Spade of Symbol
| Club of Symbol
Run Code Online (Sandbox Code Playgroud)

现在我想写一个函数返回给定卡的值,在我的情况下,它独立于卡片套装:

let GetValue (card : Card) =
  match card with
  | Heart(Seven) -> 0
  | Diamond(Seven) -> 0
  | Spade(Seven) -> 0
  | Club(Seven) -> 0
  ...
Run Code Online (Sandbox Code Playgroud)

这写起来显然很乏味.有没有办法做这样的事情

let GetValue (card : Card) =
  match card with
  | _(Seven) | _(Eight) …
Run Code Online (Sandbox Code Playgroud)

f# pattern-matching

4
推荐指数
2
解决办法
560
查看次数

标签 统计

f# ×1

pattern-matching ×1