我想知道如何实现:
取一个字符串的前n个字符然后++
(将它们连接起来)放下这些前n个并取下n个,依此类推(不用切词)。我已经尝试过函数组合和$
,但我唯一得到的是错误。
修改
我正在尝试将给定列宽(n)左边的文本对齐,这就是为什么我不尝试剪切单词,但是如果在数字n处有一个单词,只需在它之前取一些字符然后使用\ n重新开始下一行。到目前为止,我的主要问题是检查cut-words条件(我可以使用!!
,但是我应该在带有map(-1)或其他方式的guards中使用它并实现递归,因为我作为一个基础< / p>
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