【问题标题】:Conduit: make a Source from another Source导管:从另一个来源制作一个来源
【发布时间】:2014-04-16 16:03:02
【问题描述】:

我正在抓取一些网站并从它们那里收集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)

【问题讨论】:

    标签: haskell conduit


    【解决方案1】:

    解决方法是使用concatMap:

    companies = CL.concatMap companiesFromCategory
    

    【讨论】:

      猜你喜欢
      • 2011-12-15
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      相关资源
      最近更新 更多