2011-02-09 3 views
4

WrappedStringのScaladoc 2.8.1:scala.collection.immutable.WrappedStringは、文書化された機能を実現するために暗黙のCanBuildFromを必要としますか?

「このクラスは、インデックス付き配列で見つかったすべての操作で文字列を拡張ラッパーとして機能し、このクラスとStringOps間 差がするようフィルタとしてトランスメソッドを呼び出して、マップすることです。型WrappedStringの目的ではなく、文字列」

scala> import scala.collection.immutable.WrappedString 
    import scala.collection.immutable.WrappedString 

    scala> val s = new WrappedString("foo")    
    s: scala.collection.immutable.WrappedString = WrappedString(f, o, o) 

    scala> s.filter(x => true) 
    res1: scala.collection.immutable.WrappedString = WrappedString(f, o, o) 

    scala> s.map(x => x)         
    res2: scala.collection.immutable.IndexedSeq[Char] = Vector(f, o, o) 

残念なことには、マップがベクトルとしないWrappedStringを返しをもた​​らします。

フィルタはnewBuilderメソッドを使用するだけで動作しますが、マップにはBitSetのようにWrappedStringの暗黙のCanBuildFromが必要です。これはコードやドキュメントのバグですか、何か不足していますか?

def map [B] (f: (Char) ⇒ B) : WrappedString[B] 
def map [B, That] (f: (Char) ⇒ B)(implicit bf: CanBuildFrom[WrappedString, B, That]) : That 

が、それはすべきではない:

def map [B] (f: (Char) ⇒ Char) : WrappedString 
def map [B, That] (f: (Char) ⇒ B)(implicit bf: CanBuildFrom[WrappedString, B, That]) : That 

また、scaladoc簡易版は、私にはどんな意味がありませんか?

答えて

1

最初のバグは、2.9で修正されるバグです。

+0

これは既知のバグですか?私はhttps://lampsvn.epfl.ch/tracで何かを見つけることができませんでしたが、私が何かを報告する前にここでチェックしたかったのです...? –

+0

私はそれについての切符があったとは思わない、それを報告するのはおそらく良い考えです。 – axel22

+0

ありがとう、私はここでチケットを開けた:https://lampsvn.epfl.ch/trac/scala/ticket/4232 –

関連する問題