我想生成給定字母表中的所有單詞。例如:生成字母表中的所有單詞
['a', 'b'] -> ["","a","b","aa","ba","ab","bb","aaa","baa","aba","bba","aab" ...]
我管理由現在實現這個功能:
myfunc :: [a] -> [[[a]]]
myfunc l = iterate fromList $ map (\x -> x : []) l
where
fromList ls = [y : ys | y <- l, ys <- ls]
但這個函數不正確產生的結果。我希望答案是一個字符串,例如只有前5個元素 - >["","a","b","aa","ba"]
。任何幫助如何做到這一點?
@melpomene:我認爲OP並不意味着子列表。他們想要生成*所有*可能的序列,其中包含字母'「ab」'。 –
是的..我的錯誤對不起..我改變了文本 – JoeDonald