LDK*_*LDK 1 functional-programming sml smlnj
这样做:
fun test a 0.0 = "good"
| test a b = "bad";
Run Code Online (Sandbox Code Playgroud)
导致错误,但如果我更改0.0,则错误消失.但是,我需要匹配0.0,我想知道是否以及如何实现.
您可以使用if语句而不是模式匹配.
请注意,浮点运算很容易出现舍入误差,因此您应检查b的绝对值是否小于某个delta,而不是等于0.0.我认为这正是为什么不允许模式匹配实数的原因.