F# 为什么可以';具有显式类型的ti管道函数

F# 为什么可以';具有显式类型的ti管道函数,f#,F#,我是初学者 作品: let add x y = x + y let x : decimal = 2 |> add 3 不起作用: let add (x : decimal, y : decimal) = x + y let x : decimal = 2m |> add 3m 因为(x:decimal,y:decimal)是两个小数的元组。函数的签名是decimal*decimal->decimal。也就是说,它接受单个参数(元组)并返回十进制值 您需要传递两个参数:(x:dec

我是初学者

作品:

let add x y = x + y
let x : decimal = 2 |> add 3
不起作用:

let add (x : decimal, y : decimal) = x + y
let x : decimal = 2m |> add 3m
因为
(x:decimal,y:decimal)
是两个小数的元组。函数的签名是
decimal*decimal->decimal
。也就是说,它接受单个参数(元组)并返回十进制值

您需要传递两个参数:
(x:decimal)(y:decimal)

记住,如果你在F中看到
,那么你就是在看tuple。此处不使用逗号作为参数分隔符

let add (x : decimal) (y : decimal) = x + y // decimal -> decimal -> decimal
let x = 2m |> add 3m