use*_*032 2 recursion haskell function list
我很难开始这样做,因为我不确定这个功能究竟发生了什么.它应该做的是接受2个参数,一个字符和一个字符串,然后输出由该字符分隔的字符串列表.
例如,
break ',' "abc,def,ghi"
Run Code Online (Sandbox Code Playgroud)
应输出["abc","def","ghi"]
我得到了代码,我应该填写"?"
break ? [] = ?
break n xs = brk n xs ?
where
brk n xs acc
| xs == [] = ?
| n == ? xs = ? ++ break n (? xs)
| ? = brk n (? xs) (acc ++ ?)
Run Code Online (Sandbox Code Playgroud)
我不知道如何处理这个或者acc如何帮助解决这个问题.我唯一的想法是第一行应该是
break _ [] = []
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮我解决这个问题,那就太好了!谢谢!
acc是"累加器"的缩写 - 您可以在递归时使用它来累积结果.看一下线索的类型break和brk一些线索:
break :: (Eq a) => a -> [a] -> [[a]]
brk :: (Eq a) => a -> [a] -> [[a]] -> [[a]]
Run Code Online (Sandbox Code Playgroud)
或者更具体地说:
break :: Char -> String -> [String]
brk :: Char -> String -> [String] -> [String]
Run Code Online (Sandbox Code Playgroud)
以下是一些可帮助您了解如何实施的问题brk:
初始结果应该是什么?
拆分空列表时应该得到什么?
当分裂字符出现在字符串的开头时,您应该怎么做?
你怎么办?
| 归档时间: |
|
| 查看次数: |
226 次 |
| 最近记录: |