2013-10-27 27 views
1

我想爲MyString = "ab"n = 4做到這一點在Haskell哈斯克爾迭代內涵

結果應該是>

["aaaa","aaab","aaba","aabb","abaa","abab","abba","abbb","baaa","baab","baba","babb","bbaa","bbab","bbba","bbbb"] 
+3

我們更有可能能夠幫助你,如果你需要一個在裂縫問題自己和[描述你已經嘗試過什麼(http://whathaveyoutried.com)。檢查堆棧溢出[問題清單](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist)以獲取有關詢問正確問題的更多信息。祝你好運,快樂的編碼! –

回答

7
replicateM 4 "ab" 

給你要求什麼。您可以從Control.Monad導入。

+0

值得注意的是,這是使用列表monad,所以這是一般類型Monad m => Int - > ma - > m [int]的特例'Int-> [a] - > [[a]]'一]'。 –

1

如果你想寫你的自我,你可以做以下事情。

seq i xs | i > 0 = [x:ys | x <- xs, ys <- seq (i-1) xs] 
     | otherwise = [[]]