需要测试字符串,例如F#中列表中的单词

Cha*_*IIC 1 comparison f# match

我有一个F#中的单词列表和一个字符串输入.我想看看列表中是否包含任何单词.如果我正在使用C#Id,则在string.split中的每个单词上运行一个foreach循环并运行List.contains比较.到目前为止,我已经提出了以下代码,但似乎无法访问值为'str'的List.contains

 let checkforvalue(x:string) = 
  for str in x.Split(' ') do
    match str with commandList -> Console.WriteLine(str + " found: " + x)
  ()
Run Code Online (Sandbox Code Playgroud)

当前函数始终返回true并执行Console.WriteLine方法.

我有什么想法我做错了吗?

Dan*_*iel 6

这不能直接回答你的问题,但你实际上是在设置交集,可以更简单地表达:

Set.intersect (set (x.Split(' '))) (set commandList)
Run Code Online (Sandbox Code Playgroud)