Types 标准ml中的最大整数和最小整数
我想使用ml中的最大整数和最小整数,但我不能,我从库中看到了它的int类型选项,我如何使用它?我在这里看到的 我想用它来做一个max和min函数,每个方法都有一个整数列表,我必须分别返回max和min 我尝试了以下代码,但它们不起作用:Types 标准ml中的最大整数和最小整数,types,max,option,sml,min,Types,Max,Option,Sml,Min,我想使用ml中的最大整数和最小整数,但我不能,我从库中看到了它的int类型选项,我如何使用它?我在这里看到的 我想用它来做一个max和min函数,每个方法都有一个整数列表,我必须分别返回max和min 我尝试了以下代码,但它们不起作用: - fun max x = = foldr (fn (a, b) => if a > b then a else b) INTEGER.minInt x; - fun max x = = foldr (fn (a, b) => i
- fun max x =
= foldr (fn (a, b) => if a > b then a else b) INTEGER.minInt x;
- fun max x =
= foldr (fn (a, b) => if a > b then a else b) minInt x;
- fun max x =
= foldr (fn (a, b) => if a > b then a else b) Int.minInt x;
有人知道如何使用它们吗?
Int.minInt
和Int.maxInt
属于Int选项的类型,而不是Int
这意味着,如果没有最大值(或最小值),它们可以在NONE
表格上,也可以在SOME v
表格上,其中v
是最大值(或最小值)
从期权中获得价值的方法有很多
- 模式匹配
- ,它将提取值。(注意,如果给定
NONE
,则引发异常)
- ,提取值,如果给定了
NONE
,则使用默认值
但是,对于这个特定的问题,如果对输入进行一些模式匹配,则无需使用Int.minInt
。此外,请记住输入列表为空的情况。我尝试使用模式匹配,将列表设为x::xs,但它给了我一个匹配非穷尽的警告,它会是什么原因?新的乐趣是:乐趣max(x::xs)=Fordr(fn(a,b)=>如果a b,然后另一个b)x(x::xs);记住要考虑空列表。