我是哈斯克尔的新手。
我知道我可以使用元组运算符作为函数:(,) 1 2
。
我可以对列表范围..
执行相同的操作吗?与[0..9]
中一样。或者它不是一个功能?
基本上我有两个值来创建列表。显式lambda表达式起作用:\x y -> [x..y]
。我试图弄清楚如何缩短它。
答案 0 :(得分:6)
你不能用..
来做这件事,因为它是语言中的语法元素而不是函数。但是,是一个与“(..)
”或\x y -> [x..y]
会执行相同操作的函数:enumFromTo
。
答案 1 :(得分:5)
其enumFromTo
:
Prelude> :t enumFromTo
enumFromTo :: Enum a => a -> a -> [a]
Prelude> enumFromTo 1 5
[1,2,3,4,5]