現在のHaskellプラットフォームでdata.setからFindIndexメソッドを使用する方法はありますか?

StackOverflow https://stackoverflow.com//questions/20031681

質問

最近セットの使用を必要とするいくつかのコードで作業を開始しました。だから私はhoogleに行き、私がモジュールで見つけた既存のソリューションを検索しました。 data.set 。残念ながら、Hoogleはコンテナ-0.5.3.1パッケージに含まれているセットのマニュアルを作成しました。このバージョンは、私がプログラムを予定していた便利なfindIndexメソッドを含んでいました。

しかし、Haskellプラットフォームにはコンテナ-0.5.0.0のみが付属しています。ここではFindIndexは利用できません。私はHaskellプラットフォームに到達するライブラリを使用するだけかもしれませんが、この関数を含めるか自分自身を定義する方法を探しています。メソッドのコピーのコピー http:/ /hackage.haskell.org/package/containers-0.5.3.1/docs/src/data-set.html は明らかに機能しませんでした。私の問題に対する解決策を見つけるのを手伝うことができることを願っています。

たくさんありがとう。

役に立ちましたか?

解決

splitMember

で実行できます。
lookupIndex :: (Ord a) => a -> Set a -> Maybe Int
lookupIndex x s
   | found      = Just $ size l
   | otherwise  = Nothing
 where (l, found, _) = splitMember x s
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top