Functional programming 与reals的模式匹配(标准ML)
这样做:Functional programming 与reals的模式匹配(标准ML),functional-programming,sml,smlnj,Functional Programming,Sml,Smlnj,这样做: fun test a 0.0 = "good" | test a b = "bad"; 结果是一个错误,但是如果我更改0.0,错误就会消失。但是,我需要匹配0.0,我想知道这是否以及如何实现。您可以使用if语句而不是模式匹配 请注意,浮点运算容易出现舍入错误,因此您应该检查b的绝对值是否小于某些增量,而不是它是否等于0.0。我想这正是不允许模式匹配实数的原因。您可以使用if语句而不是模式匹配 请注意,浮点运算容易出现舍入错误,因此您应该检查b的绝对值是否小于某些增量,而不是它是否
fun test a 0.0 = "good"
| test a b = "bad";
结果是一个错误,但是如果我更改0.0,错误就会消失。但是,我需要匹配0.0,我想知道这是否以及如何实现。您可以使用if语句而不是模式匹配
请注意,浮点运算容易出现舍入错误,因此您应该检查b的绝对值是否小于某些增量,而不是它是否等于0.0。我想这正是不允许模式匹配实数的原因。您可以使用if语句而不是模式匹配
请注意,浮点运算容易出现舍入错误,因此您应该检查b的绝对值是否小于某些增量,而不是它是否等于0.0。我想这正是不允许模式匹配real的原因。可能是因为real在SML 97中不是eqtype:可能是因为real在SML 97中不是eqtype: