这段代码在F#和OCaml中编译得很好:
let testmatch k =
match k with
| jqk3jtl23jtlk123 -> true
Run Code Online (Sandbox Code Playgroud)
我在FSI和utop都进行了测试.它总是回归true.
它jqk3jtl23jtlk123是完全随机的,其类型推断为'a.即使我k使用数据类型(例如let testmatch (k: int) =)进行约束,它也会编译(尽管明显将约束testmatch的类型限制为int -> bool而不是'a -> bool.
有人可以解释一下发生了什么吗?特别:
jqk3jtl23jtlk123?