我最近遇到了以下问题:给定一个数字列表,我想从该列表的每个条目中减去一个常量。自然但错误的事情是
map (-3) [5,6,7]
这里-
不是二元函数,而是一元否定运算符。
我找到了以下解决方法:
map (+(-3)) [5,6,7]
map ((+)(-3)) [5,6,7]
map (flip (-) 3) [5,6,7]
问题:是否有更多优雅的方式来避免这种不必要的括号?
答案 0 :(得分:2)
不,抱歉。您拥有subtract
功能,但它不会更短。
Prelude> map (subtract 3) [3,4,5]
[0,1,2]