我对Haskell还是很陌生,并且正在尝试解决以下问题:
我有一个函数,该函数生成无限长的字符串,这些字符串的长度不同。但是一定长度的字符串数量受到限制。
现在,我要提取具有一定长度n的列表的所有子字符串。不幸的是,我做了很多研究,尝试了很多东西,但对我没有任何帮助。
我知道这filter()行不通,因为它会检查列表的每个部分并导致无限循环。
这是我生成无限列表的函数:
allStrings = [ c : s | s <- "" : allStrings, c <- ['R', 'T', 'P']]
Run Code Online (Sandbox Code Playgroud)
我已经尝试过了:
allStrings = [x | x <- [ c : s | s <- "" : allStrings,
c <- ['R', 'T', 'P']], length x == 4]
Run Code Online (Sandbox Code Playgroud)
并没有终止。
谢谢你的帮助!