4

我想知道如何实现:

取字符串的前 n 个字符,然后++(将它们连接起来)删除这些第一个 n 并取下一个 n,依此类推(不切割单词)。我已经尝试过函数组合,$但我唯一得到的是错误。

编辑

我正在尝试为给定的列宽(n)对齐左侧的文本,这就是为什么我尝试不剪切单词的原因,但是如果在数字 n 处有一个单词,只需在它之前取一些字符,然后使用 \n 开始再次为下一行。到目前为止,我的主要问题是检查剪切词条件(我可以使用!!,但我应该在带有 map(-1) 的守卫中使用它还是如何使用它)并实现递归,因为作为基础我得到了

take n s ++ "\n" ++ take n (drop n s)

以及 n 小于最长单词的情况:

leftAlign n str = if n < ((maximum . map length . words) str) then "" else leftAlign n str
4

1 回答 1

-1

Data.List.Split.chunksOf做这个。

于 2015-06-13T17:28:23.637 回答