haskell中的字符串流

use*_*465 -3 haskell stream char

我想l = ["","a","aa","aaa",...]在haskell中创建这个流 .

有人能帮我吗?

Arj*_*jan 7

将重复组合在一起:

?: let l = inits $ repeat 'a'
?: take 10 l
["","a","aa","aaa","aaaa","aaaaa","aaaaaa","aaaaaaa","aaaaaaaa","aaaaaaaaa"]
Run Code Online (Sandbox Code Playgroud)


Edw*_*ETT 6

我们可以通过迭代地将元素集中到空列表中来实现

iterate :: (a -> a) -> a -> [a]
Run Code Online (Sandbox Code Playgroud)

只是做

iterate ('a':) ""
Run Code Online (Sandbox Code Playgroud)

  • 这比其他方法更节省内存.我们都希望我们的玩具示例尽可能高效,对吧? (2认同)