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。這是代碼或文檔中的錯誤還是我錯過了一些東西?
此外,scaladoc簡化版本沒有任何意義,我說:
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
?
你的意思是這是一個已知的錯誤?我在https://lampsvn.epfl.ch/trac找不到任何東西,但我想在我報告任何事情之前先查看...? – 2011-02-09 21:03:41