我是SML的新手,我正在尝试编写一个函数来比较两个char列表,它采用list1中的一个字符并将其与list2中的所有字符进行比较,例如
val list1 = explode("abcdefghijklmnopqrstuvwxyz")
val list2 = explode("bcdaghklfeijonmtrqpsvuwyzx!-232=,./;'[]{}:?<")
所以从list1获取元素'a',然后将它与list2的每个元素进行比较,并且它继续检查所有元素,如果混乱的list2等于非混乱的list1则返回true
答案 0 :(得分:2)
这听起来像XY problem,
XY问题是询问您尝试的解决方案而不是实际问题。这会导致大量浪费的时间和精力,无论是寻求帮助的人还是那些提供帮助的人。
您是否正在测试list1
是list2
的子集,子多集,子字符串,子序列还是排列List.exists
?或者,如果它们是等效的?尝试并表达您的实际问题,然后描述您尝试的解决方案。 : - )
您可能希望使用List.all
和list1
的组合。
例如,如果您要测试list2
是否为fun contains (ys, x) = List.exists (fn y => x = y) ys
fun isSubsetOf (xs, ys) = List.all (fn x => contains (ys, x)) xs
的子集:
x
其中说:对于所有xs
∈y
,必须存在ys
∈x
,以便y
= //update a control's background color or so
if (label1.BackColor != Color.Black)
label1.BackColor = Color.Black;
。< / p>