私のコードで頻繁に発生する次のユースケースがあります。
- コレクション[A]
- A から B への暗黙的な変換
B のコレクションを取得したいのですが、次のように暗黙的に使用できます。
case class Items(underlying:List[B])
import B._
def apply(a:List[A]):Items = {
val listOfB= a.map {implicitly[A=>B]}
Items(listOfB)
}
おそらく同じことをするScalazの助けを借りて、Scalaでそれを行う最もエレガントな方法は何ですか?
編集:私の質問の目標は、ライブラリ/開発者の間で一般的なアプローチである慣用的な方法を見つけることです。そのような意味で、自分の pimp-my-library ソリューションを開発することは嫌いです。なぜなら、私のコードを書いている他の人は、この変換の存在を知らず、それを使用せず、自分自身を書き換えるからです。私はこの一般的な関数にライブラリ アプローチを使用することを好みます。そのため、Scalaz にそのような機能が存在するかどうか疑問に思っています。