6

ClojureでClojureISeqとして使用したいScalaクラス(Lift's Box、Scala's Optionなど)がたくさんあります。

シーケンスに関連するさまざまな関数がすべて「正しく機能する」ように、これらのクラスをISeqにする方法をClojureに指示するにはどうすればよいですか?

4

2 に答える 2

2

クラスがIterableインターフェースを実装している場合はseq、それらを呼び出してシーケンスを取得できます。シーケンスライブラリのほとんどの関数はこれを自動的に実行しますが、ほとんどすべての通常の場合、そのままのようにseq関数に渡すことができfirstますcount

于 2013-01-22T23:33:46.510 に答える
2

アーサーの答えに基づいて構築するために、これらの線に沿ってScalaで汎用ラッパークラスを提供できます。

class WrapCollection(repr: TraversableOnce[_]) extends clojure.lang.Seqable { ... }
于 2013-01-23T22:06:57.227 に答える