Haskell 如何在多个条件下使用map

Haskell 如何在多个条件下使用map,haskell,Haskell,是否可以在乘法条件下使用map。例如列表[1,-2,3,-4] 对于所有0,它应该+1 map本身只能对列表中的每个元素应用相同的函数,但该函数可以决定如何对每个元素进行操作 例如,如果我们编写一个函数,将所有奇数加倍,将所有偶数加100: myFunc x | odd x = 2 * x | otherwise = 100 + x 我们可以使用map应用该函数: > map myFunc [1..4] [2,102,6,104] 以下内容有点难看,但很有效:

是否可以在乘法条件下使用
map
。例如
列表[1,-2,3,-4]

对于所有
0
,它应该
+1

map
本身只能对列表中的每个元素应用相同的函数,但该函数可以决定如何对每个元素进行操作

例如,如果我们编写一个函数,将所有奇数加倍,将所有偶数加100:

myFunc x | odd x     = 2 * x
         | otherwise = 100 + x
我们可以使用
map
应用该函数:

> map myFunc [1..4]
[2,102,6,104]

以下内容有点难看,但很有效:

map (\x -> if x < 0 then x+1 else x*2) [1,-2,3,-4,0]
map(\x->如果x<0那么x+1或者x*2)[1,-2,3,-4,0]