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/