在 Haskell 中使用 map 应用常量减法

Ode*_*Wat 2 haskell

我只想从 [1,2,3,4] 中的每个列表元素中减去 1,例如

map (-1) [1,2,3,4] -- does not work

map ((-)1) [1,2,3,4] -- gives [0,-1,-2,-3] which is "-listvalue" + 1

map (\x = x - 1) [1,2,3,4] -- what I want but so verbose

map (+ (-1)) [1,2,3,4] -- well :)

map (flip (-) 1) [1,2,3,4] -- I heard of flip before

(map . flip (-)) 1 [1,2,3,4] -- Kinda nice mapped substration composing thingy

map pred [1,2,3,4] -- OK cheated and won't help with -2
Run Code Online (Sandbox Code Playgroud)

我是否错过了“正确”的表格和/或 Haskell 先生使用的表格?

Jim*_*ies 6

您可以改用减法函数

map (subtract 1) [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)