gpt4 book ai didi

list - 将map与具有多个参数的函数一起使用

转载 作者:行者123 更新时间:2023-12-02 07:19:03 26 4
gpt4 key购买 nike

是否可以将map与带有多个参数的函数一起使用?

我想重复使用map的第二个和第三个参数作为函数的参数。

mapF x y z = map (f y z) [1, 2, 3]

因此,它将使用相同的 fy值来评估 z,但使用 x = 1x = 2x = 3等。

最佳答案

您应该使用lambda函数,要查看此作品,首先使用助手函数将f映射到某些列表。

map helper [1, 2, 3] where
helper x = f x y z

在Haskell中,函数有两种语法,因此让我们使用lambda语法定义我们的辅助函数:
map helper [1, 2, 3] where
helper = \x -> f x y z

使用lambda语法,我们不需要给我们的辅助函数一个明确的名称,它可以只是一个匿名函数,我们可以在输入上进行映射
map (\x -> f x y z) [1, 2, 3]

所以现在你可以说
mapF y z = map (\x -> f x y z) [1,2,3]

但是大概您不希望 x为1、2和3,而是希望它为列表
您将其作为参数传递给 mapF。因此,您需要使用其他名称:
mapF xs y z = map (\x -> f x y z) xs

Haskell约定使用 s作为保存列表或其他容器的变量的后缀。因此,如果一个值是 x,那么它们的列表就是 xs

关于list - 将map与具有多个参数的函数一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51073535/

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