我想知道如何在一個函式中獲取串列中的多個元素
例如,如果我想從 list 中獲取元素 1 2 3 和 4 a,我必須輸入a!!0 a!!1 a!!2 a!!3. 這會占用大量空間,尤其是當串列名稱超過一個字符時。所以我想知道我是否可以做類似的事情a!![0,1,2,3]并以更短的方式獲取所有這些元素。謝謝你。
uj5u.com熱心網友回復:
您可以使用映射來查找串列的所有專案,因此:
map (a !!) [0,1,2,3]
但是,如果您對前四個專案感興趣,則可以使用take :: Int -> [a] -> [a]:
take 4 a
特別是因為在 Haskell 中通過索引(with )查找(!!)不是常見的操作:這是不安全的,因為不能保證索引在邊界內。大多數串列處理都是使用take, drop, sum,foldr等函式完成的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/427284.html
