SML检查两项是否在同一列表中

SML检查两项是否在同一列表中,sml,member,smlnj,Sml,Member,Smlnj,如何检查sml中是否有两项在同一列表中?我尝试更改成员函数,但无法使其工作 val routeList1 = ["Princes Street", "Haymarket", "Craiglockhart", "Musselburgh", "Stoneybank"] 如果要检查“Princes Street”和“Haymarket”是否都在路线列表1中 我不熟悉这门语言,因此任何帮助都很好要检查Princes Street是否在routeList1中,您可以写: List.exists (fn

如何检查sml中是否有两项在同一列表中?我尝试更改成员函数,但无法使其工作

val routeList1 = ["Princes Street", "Haymarket", "Craiglockhart", "Musselburgh", "Stoneybank"]
如果要检查
“Princes Street”和
“Haymarket”
是否都在
路线列表1中

我不熟悉这门语言,因此任何帮助都很好

要检查
Princes Street
是否在
routeList1
中,您可以写:

List.exists (fn s => s = "Princes Street") routeList1
(它使用
List.exists
[]检查元素
s
,以便
s=“Princes Street”
true

要检查两个字符串,只需检查其中一个,然后检查另一个:

List.exists (fn s => s = "Princes Street") routeList1
  andalso List.exists (fn s => s = "Haymarket") routeList1
要检查
“Princes Street”
是否在
routeList1
中,您可以编写:

List.exists (fn s => s = "Princes Street") routeList1
(它使用
List.exists
[]检查元素
s
,以便
s=“Princes Street”
true

要检查两个字符串,只需检查其中一个,然后检查另一个:

List.exists (fn s => s = "Princes Street") routeList1
  andalso List.exists (fn s => s = "Haymarket") routeList1

您可以调用检查成员资格的函数

fun elem x ys = List.exists (fn y => x = y) ys
还有一个功能,可以检查很多东西的成员资格

fun allElems xs ys = List.all (fn x => elem x ys) xs
假设只能比较元素是否相等。然后

val areThey = allElems ["Princes Street", "Haymarket"] routeList1

您可以调用检查成员资格的函数

fun elem x ys = List.exists (fn y => x = y) ys
还有一个功能,可以检查很多东西的成员资格

fun allElems xs ys = List.all (fn x => elem x ys) xs
假设只能比较元素是否相等。然后

val areThey = allElems ["Princes Street", "Haymarket"] routeList1

如果你知道如何检查列表中是否有一件事,为什么很难检查两件事是否在列表中?只需使用
andalso
布尔运算符。如果你知道如何检查列表中是否有一件事,为什么很难检查两件事是否有?只需使用
布尔运算符。