gpt4 book ai didi

function - F# 函数组合,其中第一个函数的元数 >1

转载 作者:行者123 更新时间:2023-12-02 08:25:01 26 4
gpt4 key购买 nike

我有两个函数 fg:

let f (x:float) (y:float) = 
x * y

let g (x:float) =
x * 2.0

我想组合 (>>>) 它们以获得一个新函数,该函数执行 f,然后对结果执行 g

解决方案应该像这样:

let h x y = 
(f x y) |> g

这行不通:

// Does not compile
let h =
f >> g

应该如何使用>>

最佳答案

我想你想实现这个:

let fog x  =  f x >> g 

你不能直接按 f >> g 的顺序组合它们,这是有道理的,因为 f 需要两个参数,所以 f x 会导致部分应用函数,但 g 需要一个值,而不是函数。

以另一种方式组合是可行的,在您的特定示例中,您甚至可以获得相同的结果,因为您使用的是交换函数。您可以执行 g >> f 并得到一个导致部分应用函数的组合,因为 g 需要单个值,因此通过将值应用于 g 你得到另一个值(不是函数)并且 f 需要两个值,然后你将得到一个部分应用的函数。

关于function - F# 函数组合,其中第一个函数的元数 >1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33086049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com