可変引数リストを取得してデータを生成するライブラリメソッドがあります
class Data
def process(elems: String*): Data = new Data
文字列を暗黙的に次のように変換したいData
implicit def strToData(ts: String): Data = process(t)
だから私は次のようなものを書くことができます
val data: Data = "one"
しかし、文字列のタプルも暗黙的に変換されるようにしたいです。別の暗黙のを追加しました
implicit def strsToData(ts: String*): Data = process(ts: _*)
正常にコンパイルされますが、変換は失敗します
val data: Data = ("one", "two")
val dat3: Data = ("one", "two", "three")
val dat4: Data = ("one", "two", "three", "four")
と
found : Seq[java.lang.String]
required: this.Data
val data: Data = Seq("one", "two")
タプルを暗黙的に変換する方法、またはそれを実現できる理由はありますか?
更新:タプルは任意のアリティにすることができます。