【发布时间】:2013-05-22 09:34:56
【问题描述】:
我正在尝试在 haskell 中创建此流 l = ["","a","aa","aaa",...]。
有人可以帮助我吗?
【问题讨论】:
-
使用迭代:
iterate ('a':) []
我正在尝试在 haskell 中创建此流 l = ["","a","aa","aaa",...]。
有人可以帮助我吗?
【问题讨论】:
iterate ('a':) []
将初始化与重复结合起来:
λ: let l = inits $ repeat 'a'
λ: take 10 l
["","a","aa","aaa","aaaa","aaaaa","aaaaaa","aaaaaaa","aaaaaaaa","aaaaaaaaa"]
【讨论】:
我们可以通过使用迭代地将元素consing到空列表中来实现
iterate :: (a -> a) -> a -> [a]
只是做
iterate ('a':) ""
【讨论】:
不使用预定义函数:
l = l' ""
where l' s = s : l' ('a':s)
【讨论】:
[replicate i 'a' | i <- [0..]]
这并不完全是高级的东西。
【讨论】: