若想取得 List 最後幾筆資料,Haskell 並沒有內建 takeLast
,可自行使用 reverse
與 take
組合。
Version
Haskell for Mac 1.8.2
takeLast
takeLast n = reverse . take n . reverse
takeLast 3 [1..10]
takeLast 3 "wonderful"
組合 takeLast
:
reverse
:將 List 反轉take n
:取得 List 前幾筆資料reverse
:再次將 List 反轉
import Control.Category
takeLast n =
reverse
>>> take n
>>> reverse
takeLast 3 [1..10]
takeLast 3 "wonderful"
改用 >>>
實現。
Conclusion
- Ramda 有內建
takeLast
,但 Haskell 沒有,但組合方式一樣