f# - f# 中内置 "pairify"函数?

标签 f#

f# 中是否有带有签名 'a -> 'b -> 'a*'b 的内置函数?

我意识到编写 fun a b -> a, b 非常简单,但 fun a -> a 也是如此,我们仍然有 id function

使用示例:

let pairify = fun a b -> a, b

[1;2;3] |> List.mapi pairify

最佳答案

没有内置函数'a -> 'b -> 'a * 'b,这有点烦人。如果您打算提供自己的路径,为什么不定义 global operator相反?

let (=>) = fun a b -> a, b
1=>2
// val it : int * int = (1, 2)

这也使得发生的事情更加明显,例如提供键值对,例如 dict[1=>"a";2=>"b"]。您的列表索引用例将变成

[1;2;3] |> List.mapi (=>)
// val it : (int * int) list = [(0, 1); (1, 2); (2, 3)]

关于f# - f# 中内置 "pairify"函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47799058/

相关文章:

f# - 我怎样才能做一个简单的elmish路由器?

f# - 如何从 xml 文件读取属性值 - FAKE F#MAKE

f# - 在 F# : "No public installers with the RunInstallerAttribute.Yes attribute ..." 中安装 Windows 服务

c# - c# 类上的 f# 模式匹配

map - 方法链 vs |> 管道操作符

asp.net-core - Cookie认证: How to access a returning user

c# - 是否可以实现递归 "SelectMany"?

f# - 扑克手 - 在 F# 中确定满堂彩

f# - F# 中的协程

f# - 类型与 printfn 不匹配