Scala XML Elem オブジェクトと XML 要素の別の表現 (私の場合は dom4j Element) との間で暗黙的に変換したいと考えています。私は次の暗黙の変換を書きました:
implicit def elemToElement(e: Elem): Element = ... do conversion here ...
implicit def elementToElem(e: Element): Elem = ... do conversion here ...
これまでのところ、これはうまくいきます。
ここで、両方の方法を変換するために、上記の要素のコレクションも必要です。まず、追加の変換メソッドを書く必要は絶対にあるのでしょうか? そうしないと、物事はうまくいかないようでした。
私は次のように書いてみました:
implicit def elemTToElementT(t: Traversable[Elem]) = t map (elemToElement(_))
implicit def elementTToElemT(t: Traversable[Element]) = t map (elementToElem(_))
変換メソッドが Traversable を受け取る場合、Traversable も返すため、これはあまり理想的ではありません。List を渡すと、Traversable も出力されます。したがって、変換は何らかの方法でパラメータ化する必要があると思います。
では、これらの変換を可能な限り汎用的に記述する標準的な方法は何ですか?