![](/img/trans.png)
[英]Functional Programming, Haskell applying a function to a list of variables
[英]Applying a function to a list of elements in Haskell
假設我定義了一個隊列並具有以下 function:
pushq :: a -> Queue a -> Queue a
pushq x (Queue1 xs) = Queue1 (x:xs)
它通過將單個元素添加到隊列的前面來工作,但是說我想在另一種方法中使用 function 將整個元素列表添加到隊列而不是單個元素,例如:
adds :: [a] -> Queue a -> Queue a
我如何能夠遍歷列表並在每個元素上一個一個地使用 pushq function 將其添加到隊列中?
我如何能夠遍歷列表並在每個元素上一個一個地使用 pushq function 將其添加到隊列中?
通過遞歸。 對於空列表,您可以返回Queue a
本身:
adds [] qs = qs
對於非空列表,您首先在列表的尾部調用adds
,然后將該元素推入隊列:
adds (x:xs) q = pushq … (adds …)
您仍然必須在此處填寫…
。 我把它留作練習。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.