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
谢谢!