Sml 关于如何用ML编写函数的问题?

Sml 关于如何用ML编写函数的问题?,sml,smlnj,ml,Sml,Smlnj,Ml,编写一个函数allLessThan。它获取两个整数列表,并测试第一个列表中的所有整数是否小于第二个列表中的所有整数 例如,allLessThan([2,4],[6,7,8])将返回true 我尝试设置函数,让集合等于xx和yy,这样如果xx中的每个元素都小于yy中的每个元素,那么函数将返回true,如果不是,则返回false - fun allLessThan([], yy) = true = | allLessThan(xx, []) = false = | allLessThan(x::

编写一个函数
allLessThan
。它获取两个整数列表,并测试第一个列表中的所有整数是否小于第二个列表中的所有整数

例如,
allLessThan([2,4],[6,7,8])
将返回true

我尝试设置函数,让集合等于
xx
yy
,这样如果
xx
中的每个元素都小于
yy
中的每个元素,那么函数将返回true,如果不是,则返回false

- fun allLessThan([], yy) = true
=  | allLessThan(xx, []) = false
=  | allLessThan(x::xRest, y::yRest) 

一次递归两个列表是非常棘手的。想一想,如果你已经有了一个函数,可以确定一个整数是否小于列表中的所有元素,那么写这篇文章会容易得多。@molbdnio是的,我希望是这样,但我的老师是一个固执的人,希望我们一次用2个列表来写。她不是很乐于助人,但你的老师有没有说你不允许使用任何“助手”功能?如果你有我提到的函数,这个函数将是一个非常简单的递归。这也可能是一个使用
map
s、
fold
s和/或
filter
s的练习,特别是如果您最近了解了这些。(你的老师可能没有帮助,因为如果不提供完整的解决方案,很难提供任何帮助,这是非常没有帮助的。根据我的经验,如果你仔细阅读你的课堂讲稿和以前的练习,寻找想法,大多数家庭作业都可以解决。)@TheMathDude92:molbdnilo所暗示的是,如果你已经有了一个确定单个整数是否小于列表中所有元素的函数,您可以在
allLessThan
中使用它。解决此问题的一种方法是编写辅助函数来计算int列表的mins和maxes。将这些辅助函数应用于两个列表,以检查第一个列表的最大值是否小于第二个列表的最小值。