我可以将列表范围应用为函数吗?

时间:2015-07-10 21:20:13

标签: haskell

我是哈斯克尔的新手。

我知道我可以使用元组运算符作为函数:(,) 1 2

我可以对列表范围..执行相同的操作吗?与[0..9]中一样。或者它不是一个功能?

基本上我有两个值来创建列表。显式lambda表达式起作用:\x y -> [x..y]。我试图弄清楚如何缩短它。

2 个答案:

答案 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]