我开始学习F#。想制作一个简单的程序,只告诉我它在命令行参数中找到了什么。我有:
[<EntryPoint>]
let main argv =
printfn "%A" argv
match argv with
| [] -> 42
| _ -> 43
但是这会引发错误。如果我悬停在argv上,我会看到:
val argv:string []
这是我所期望的(字符串列表)。然而,第一个匹配表达式有一个错误:
Error 1 This expression was expected to have type string [] but here has type 'a list
基本上,我只想匹配空参数列表(空字符串列表)。正确的方式是什么?
我应该补充说明:我不仅想要一个解决方案(虽然那也不错)。我还想了解编译器在这里寻找什么,而我没有提供给它。
[||]
的意思以及它为什么有效吗? - supertopi[]
是一个空列表一样。这是你写一个零元素数组的方式,只留下开头和结尾的方括号。 - scrwtp