【发布时间】:2019-02-08 14:43:06
【问题描述】:
如果我在 F# 中有以下枚举:
type Note =
| C = 0
| D = 2
| E = 4
| F = 5
| G = 7
| A = 9
| B = 11
但在某些时候,我需要其中项目的序数,例如 Note.C = 1, Note.D = 2, 等。显然在其他语言中,foo.ordinal() 可以工作,但在这里有必要使用这样的函数:
let getNoteOrdinal = function
|Note.C -> 1
|Note.D -> 2
|Note.E -> 3
|Note.F -> 4
//etc
这个功能是必要的还是有更好的功能?
【问题讨论】: