我是F#的新手,并没有在任何地方看到如何正确地执行以下操作
let fun1 a b =
match a b with
| a + b > 0 -> fun2
| a + b < 0 -> fun3
Run Code Online (Sandbox Code Playgroud)
我必须使用模式匹配 - 做作业 - 但我不知道如何正确地做到这一点.我以为我可以使用如下元组:
let fun1 (a,b) =
match (a,b) with
| (a,b) when a + b > 0 -> fun2
| (a,b) when a + b < 0 -> fun3
Run Code Online (Sandbox Code Playgroud)
但这也行不通.我该怎么办?
我正在尝试创建一个函数,将元组与元组数组的值进行比较.我需要这个返回一个布尔值,但是VS2013一直告诉我:"这个表达式应该有'unit'类型,但是类型'bool'"
let compare (i,j,a,(x : (int*int*int) array)) =
for q in 0 .. x.GetLength(0) do
match (i,j,a,x) with
| (i,j,a,x) when (i,j,a) = x.[q] -> true
| _ -> false
Run Code Online (Sandbox Code Playgroud)
还尝试将值作为两个参数给出,但它也不起作用:
let compare (i,j,a) (x : (int*int*int) array) =
for q in 0 .. x.GetLength(0) do
match (i,j,a) with
| x.[q] -> true
| _ -> false
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!