gpt4 book ai didi

haskell - 如何减去 Haskell 中的 Maybe 值?例如,如果我想减去 Just 8 - Just 5 得到 Just 3,我该怎么做?

转载 作者:行者123 更新时间:2023-12-05 08:22:35 26 4
gpt4 key购买 nike

我怎样才能做到以下几点。例如,如果我想减去 Just 8 - Just 5 得到 Just 3,我该怎么做?

Just 8 - Just 5 = Just 3

Just 15 - Just 9 = Just 6

最佳答案

liftA2 函数(从 Control.Applicative 导入)将普通函数“提升”到 Applicative 上下文中。例如,liftA2 (-) 是一个函数,它接受的不是两个 Num a => a 值,而是两个 (Applicative f, Num a) => f a 值,并在相同的上下文中产生结果。这不仅适用于 Maybe:

>>> liftA2 (-) (Just 8) (Just 5)
Just 3

但对于列表

>>> liftA2 (-) [4,5,6] [1,2,3] -- difference of every pair with one number from each list
[3,2,1,4,3,2,5,4,3]

任一个:

>>> liftA2 (-) (Right 8) (Right 5)
Right 3

函数

>>> liftA2 (-) (+3) (*2) 9 -- (\x -> (x + 3) - (x * 2)) 9 == 12 - 18
-6

等等

关于haskell - 如何减去 Haskell 中的 Maybe 值?例如,如果我想减去 Just 8 - Just 5 得到 Just 3,我该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60572738/

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