gpt4 book ai didi

haskell - 在 Haskell 中应用函数并包装在元组中

转载 作者:行者123 更新时间:2023-12-02 12:06:44 24 4
gpt4 key购买 nike

我正在寻找一种方法来编写一个函数,该函数应用提供的函数并将参数和函数结果包装在元组内。如:

applyZip :: (a -> b) -> a -> (a,b)
applyZip f x = (x, f x)

是否有更惯用的方法在 Haskell 中编写此代码,最好使用库代码?

编辑:我只是对解决这个问题的其他方法真正感兴趣。如果您发现自己遇到同样的问题,那么使用描述性名称自己实现该功能可能会更好。

最佳答案

您可以使用:

import Control.Monad(ap)

applyZip :: (a -> b) -> a -> (a,b)
applyZip = <b>ap (,)</b>

在这里,我们使用ap :: Monad m => m (a -> b) -> m a -> m b功能。

关于haskell - 在 Haskell 中应用函数并包装在元组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44248544/

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