Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 从每个列表元素中减去一个数的优雅方法_Haskell - Fatal编程技术网

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上见过你:)