F# 参数传递

标签 f# tuples currying

我一直认为 F# 有两种不同的方式来传递参数:柯里化(Currying)风格和元组风格。 这实际上是正确的吗?

这不是简单的一种风格, curry 风格,参数可以是简单值或元组。

例如

someFunc (a,b) =

这不是一个带有一个柯里风格参数的函数,而该参数恰好是一个元组吗? 因此允许我使用 Pipeline 运算符将元组传递给该函数? (元组元素的名称)

(1,2) |> someFunc

这是正确的吗?

最佳答案

这会很好地工作 - 不同的是当你有

let f (a,b) = ...
let f2 a b = ...

然后你可以轻松地创建一个部分应用的 f2,但是对于 f 来说它的工作效果不太好 - 你必须这样做

let partial = fun t -> f (1,t)
let partial2 = f2 1

关于F# 参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11392427/

相关文章:

javascript - 嵌套数组中的 Ramda 索引

f# - 普通类上 fsharp 中的静态函数

f# - Project Euler #14 尝试因 StackOverflowException 而失败

winforms - F# 只刷新部分表单

python - 使用 rpy2 映射 python 元组和 R 列表?

Python如何打印不带引号的元组

java - 使用 jOOλ 按属性总结 BigDecimal 分组

javascript - 我怎样才能使 var a = add(2)(3);//5 工作?

algorithm - 使用函数式编程 (F#) 将位置列表转换为二维位置数组

javascript - 默认参数和柯里化(Currying) : Python vs. Javascript