gpt4 book ai didi

Haskell 函数反转函数调用

转载 作者:行者123 更新时间:2023-12-03 15:05:53 27 4
gpt4 key购买 nike

我有一个 lambda \x f -> f xfoldM 中使用操作,其中 x是一个值,f :: a -> b .

有没有内置函数可以做到这一点?

我可以更换吗

foldM (\x f -> f x) ...

与一些 f'
foldM f' ...

我以为 flip会这样做,但它需要三个参数( flip :: (a -> b -> c) -> b -> a -> c )

它可能类似于 |>在 F# 中。

最佳答案

您可以使用 flip idflip ($) (因为 ($) 只是函数的特殊 id):

Prelude> flip id 3 (+2)
5
Prelude> flip ($) 7 (>10)
False

这是部分应用的一个有趣用法: id f xf作为一个函数只是 f x .显然,这也与 (flip id) x f 相同。 , 所以 flip id是您正在寻找的功能。

如果您喜欢冒险,请尝试推断 flip id 的类型或 flip ($)手动。好有趣 :)

关于Haskell 函数反转函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10815896/

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