List 剪辑大于最大值的数字
我有这个功能:List 剪辑大于最大值的数字,list,functional-programming,sml,List,Functional Programming,Sml,我有这个功能: fun min x y = if x >= y then y else x 我需要使用这个函数(作为一个部分应用程序)并使用参数number和list生成函数clipupdown,其中number表示该列表中应该存在的最小数,所有小于min的数都应该设置为该最小数。例如,当我打电话时: clipdown 10 [1,11,21,4,6,7,12] 我应该 [10,11,21,10,10,10,12] 有什么提示吗 有什么提示吗 当您仅使用一个元素调用min(编辑:或者
fun min x y = if x >= y then y else x
我需要使用这个函数(作为一个部分应用程序)并使用参数number和list生成函数clipupdown,其中number表示该列表中应该存在的最小数,所有小于min的数都应该设置为该最小数。例如,当我打电话时:
clipdown 10 [1,11,21,4,6,7,12]
我应该
[10,11,21,10,10,10,12]
有什么提示吗
有什么提示吗
min
(编辑:或者实际上是max
)时,会得到什么
min 10
min
(编辑:或者实际上是max
)时,会得到什么
min 10
由于
Int.min
和Int.max
已经存在,但是使用元组,您可以编写一个函数
fun curry f x y = f (x, y)
并使用类似于map o curry Int.max
的方法获得clipdown
同样,您可以使用map o curry Int.min
获得clipup
您还可以通过像这样组合这两个选项来获得clipupdown
fun clipupdown lower higher = clipdown lower o clipup higher
但是你也可以用它(地图f)∘ (图g)=图(f)∘ g) :
这被称为。,因为
Int.min
和Int.max
已经存在,但是对于元组,您可以编写一个函数
fun curry f x y = f (x, y)
并使用类似于map o curry Int.max
的方法获得clipdown
同样,您可以使用map o curry Int.min
获得clipup
您还可以通过像这样组合这两个选项来获得clipupdown
fun clipupdown lower higher = clipdown lower o clipup higher
但是你也可以用它(地图f)∘ (图g)=图(f)∘ g) :
这就是所谓的
您必须使用最大值,而不是最小值。每当程序发现低于最小值的数字时,应选择最小值(大于遇到的数字)。因此,您需要选择最大值
您必须使用最大值,而不是最小值。每当程序发现低于最小值的数字时,应选择最小值(大于遇到的数字)。因此,您需要选择最大值。您实际上需要使用“max”函数。因为他只是想得到一些提示,我想这个答案不应该被否决。你实际上需要使用“max”函数。因为他只是在寻求暗示,我想这个答案不应该被否决。