1

私はいくつかのウェブサイトをソースクロールCategoryしており、それらから次のタイプのアイテムを収集しています:

catsSource :: Source IO Category

次のステップは、会社コレクター (タイプ の項目Company) を作成することです。会社コレクターは、カテゴリを必要とします。入力ごとCategoryに、いくつかの会社を 1 つずつ生成する必要があります。言い換えれば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)
4

1 に答える 1

3

解決策は使用することconcatMapです:

companies = CL.concatMap companiesFromCategory
于 2014-04-16T08:03:02.077 に答える