gpt4 book ai didi

Haskell: 'makeNtuple' 函数?

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

Haskell 中是否有一个或多个函数接受 n 个参数并返回一个 n 元组?例如:

make3tuple:: a -> a -> a -> (a,a,a)
make3tuple a b c = (a,b,c)

即:像逗号一样,但对于两个以上的参数。显然 make3tuple 可以完成这项工作,但我觉得必须有一种内置的方法来做到这一点,我还没有找到它,或者错过了使用其他一些无处不在的功能的方法。

FWIW,当使用liftM3(或更高版本)时会出现这种情况。例如:
type RandomState a = State StdGen a
[...]
getTwoRandoms = liftM2 (,) getRandom getRandom
get3Randoms = liftM3 make3tuple getRandom getRandom getRandom

谢谢!

最佳答案

是的。

(,,) :: a -> b -> c -> (a, b, c)
(,,,) :: a -> b -> c -> d -> (a, b, c, d)

等等。

所以你可以写 liftM3 (,,) getRandom getRandom getRandom
Haskell 编译器提供这样的函数到一定的大小(我认为保证是 15 元组)

关于Haskell: 'makeNtuple' 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15192964/

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