Haskell 獨特的 ..
Operator,可根據條件建立 List。
Version
Haskell for Mac 1.8.2
.. Operator
[1 .. 10]
產生 1
到 10
,且 step 為 1
的 List。
[1, 3 .. 10]
產生 1
到 10
,且 step 為 2
的 List。
[1, 1.5 .. 3]
產生 1
到 10
,且 step 為 0.5
的 List。
[1, 0 .. -3]
產生 1
到 -3
,且 step 為 -1
的 List。
[1 ..]
若 ..
沒有結束,則產生 Infinite List。
f = map(*2)
由於 Haskell 的 lazy evaluation,因此 map
也可使用 Infinite List。
Conclusion
- Haskell 的
..
相當於 Ramda 的range()
,但比range()
還要靈活