【发布时间】:2018-02-03 20:27:23
【问题描述】:
我有一个嵌套的可区分联合代表一副扑克牌:
type Symbol =
| Seven
| Eight
| Nine
| Ten
| Jack
| Queen
| King
| Ace
type Card =
| Heart of Symbol
| Diamond of Symbol
| Spade of Symbol
| Club of Symbol
现在我想编写一个函数,返回给定卡片的值,在我的情况下,它与卡片套装无关:
let GetValue (card : Card) =
match card with
| Heart(Seven) -> 0
| Diamond(Seven) -> 0
| Spade(Seven) -> 0
| Club(Seven) -> 0
...
这显然写起来很乏味。有没有办法做这样的事情
let GetValue (card : Card) =
match card with
| _(Seven) | _(Eight) | _(Nine) -> 0
| _(Ten) -> 10
...
非常感谢。
【问题讨论】:
标签: f# pattern-matching