簡體   English   中英

將 function 應用於 Haskell 中的元素列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM