Haskell 从每个列表元素中减去一个数的优雅方法
我最近遇到了以下问题:给定一个数字列表,我想从列表的每个条目中减去一个常量。自然但错误的做法是Haskell 从每个列表元素中减去一个数的优雅方法,haskell,Haskell,我最近遇到了以下问题:给定一个数字列表,我想从列表的每个条目中减去一个常量。自然但错误的做法是 map (-3) [5,6,7] 这里,-不是解释为二进制函数,而是解释为一元否定运算符 我发现了以下解决方法: map (+(-3)) [5,6,7] map ((+)(-3)) [5,6,7] map (flip (-) 3) [5,6,7] 问题:有没有更优雅的方法来避免不必要的括号?没有,对不起。您有减法功能,但它并不短 Prelude> map (subtract 3) [3,4,
map (-3) [5,6,7]
这里,-
不是解释为二进制函数,而是解释为一元否定运算符
我发现了以下解决方法:
map (+(-3)) [5,6,7]
map ((+)(-3)) [5,6,7]
map (flip (-) 3) [5,6,7]
问题:有没有更优雅的方法来避免不必要的括号?没有,对不起。您有
减法
功能,但它并不短
Prelude> map (subtract 3) [3,4,5]
[0,1,2]
我有种感觉,你神奇地嗅到我来自PPCG:D@flawr可能在PPCG上见过你:)