0

関数のモジュールに暗黙的なクラス ラッパーを追加するために、ボイラープレートの scala を大量に作成していることに気づきました。たとえば、Seqs に対してこの関数を定義したとします。

def takeWhileRight[T](p: T=>Boolean)(s: Seq[T]): Seq[T] = s.reverse.takeWhile(p).reverse

この (完全に決定論的な) 暗黙的なラッパーを作成する必要があります。

implicit class EnrichSeq[T](value: Seq[T]) {

    def takeWhileRight(p: T=>Boolean): Seq[T] = SeqOps.takeWhileRight(p)(value)
}

これは多くの例の 1 つです。いずれの場合も、暗黙的なラッパーは、転送先の関数から機械的に派生可能になります。

そのようなラッパーの生成を自動化できるツールまたはコード ジェネレーターを知っている人はいますか?

4

1 に答える 1

1

Scala 2.10の「暗黙のクラス」をすでに使用していますか?その新しいシンタックスシュガーの要点(唯一のポイント)は、暗黙の変換メソッドを作成する必要がないようにすることです。

于 2013-02-01T01:39:26.977 に答える