【发布时间】:2020-06-30 01:46:45
【问题描述】:
我有一个函数,它接收一个 obj 并尝试猜测它是一个字符串、一个 Deedle Frame 还是其他东西:
let exampleF (data : obj) =
match data with
| :? string as s -> "string: " + s
| :? Frame<'a,'b> as d -> "Frame"
| _ -> "something else"
问题在于 Frame 被限制为 Frame 类型。因此,如果我有一些 Frame 类型的Frame,exampleF 将输出“其他东西”。但是,如果 exampleF 有另一个带有“ :? Frame as d ->”, someFrame 会被正确捕获。
如何在不指定内部类型的情况下以这样的模式匹配捕获所有帧?
【问题讨论】:
-
已有一些关于 SO 的讨论,例如,参见 stackoverflow.com/questions/39875110/…
-
非常感谢,吉姆。我在问问题之前进行了搜索,但似乎我没有选择正确的搜索词。
标签: .net functional-programming f# deedle