如何比较两个char列表标准ML的每个元素

时间:2016-02-14 21:47:38

标签: sml

我是SML的新手,我正在尝试编写一个函数来比较两个char列表,​​它采用list1中的一个字符并将其与list2中的所有字符进行比较,例如

val list1 = explode("abcdefghijklmnopqrstuvwxyz")
val list2 = explode("bcdaghklfeijonmtrqpsvuwyzx!-232=,./;'[]{}:?<")

所以从list1获取元素'a',然后将它与list2的每个元素进行比较,并且它继续检查所有元素,如果混乱的list2等于非混乱的list1则返回true

1 个答案:

答案 0 :(得分:2)

这听起来像XY problem

  

XY问题是询问您尝试的解决方案而不是实际问题。这会导致大量浪费的时间和精力,无论是寻求帮助的人还是那些提供帮助的人。

您是否正在测试list1list2的子集,子多集,子字符串,子序列还是排列List.exists?或者,如果它们是等效的?尝试并表达您的实际问题,然后描述您尝试的解决方案。 : - )

您可能希望使用List.alllist1的组合。

例如,如果您要测试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

其中说:对于所有xsy,必须存在ysx,以便y = //update a control's background color or so if (label1.BackColor != Color.Black) label1.BackColor = Color.Black; 。< / p>