我正在浏览某些网站,并从中收集Category
类型的项目:
catsSource :: Source IO Category
下一步是写公司收藏家(Company
类型的项目)。公司收集者需求类别:对于每个Category
输入,应该逐个生产几家公司。换句话说,它应该“屈服”Company
,而不是[Company]
。
这项任务需要什么?管道或棘手的来源?如果来源,应该如何从catsSource
获取类别?如果管道如何通过(“收益”)公司向前发现?
要清除我的问题,这是一次尝试(不通过类型检查):
import qualified Data.Conduit.List as CL
companiesFromCategory cat = [Company "foo", Company "bar"]
companies :: Conduit Category IO Company
companies = CL.fold . (CL.map companiesFromCategory)
答案 0 :(得分:3)
解决方案是使用concatMap
:
companies = CL.concatMap companiesFromCategory