任意の型 (Int など) から文字列への暗黙的な変換を作成しようとしています...
String への暗黙的な変換は、RichString メソッド (リバースなど) が使用できないことを意味します。
implicit def intToString(i: Int) = String.valueOf(i)
100.toCharArray // => Array[Char] = Array(1, 0, 0)
100.reverse // => error: value reverse is not a member of Int
100.length // => 3
RichString への暗黙的な変換は、String メソッド (toCharArray など) が使用できないことを意味します。
implicit def intToRichString(i: Int) = new RichString(String.valueOf(i))
100.reverse // => "001"
100.toCharArray // => error: value toCharArray is not a member of Int
100.length // => 3
両方の暗黙的な変換を使用すると、重複したメソッド (長さなど) があいまいになります。
implicit def intToString(i: Int) = String.valueOf(i)
implicit def intToRichString(i: Int) = new RichString(String.valueOf(i))
100.toCharArray // => Array[Char] = Array(1, 0, 0)
100.reverse // => "001"
100.length // => both method intToString in object $iw of type
// (Int)java.lang.String and method intToRichString in object
// $iw of type (Int)scala.runtime.RichString are possible
// conversion functions from Int to ?{val length: ?}
では、暗黙的に String に変換し、引き続きすべての String および RichString メソッドをサポートすることは可能ですか?