コレクションについて学んでいますが、Traversable
docsでこれらの 2 つの方法に気付きました。最初のもののポイントは何ですか?2つ目はそれが含まれているようです。
copyToArray (xs: Array[A], start: Int, len: Int): Unit
copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Unit
コレクションについて学んでいますが、Traversable
docsでこれらの 2 つの方法に気付きました。最初のもののポイントは何ですか?2つ目はそれが含まれているようです。
copyToArray (xs: Array[A], start: Int, len: Int): Unit
copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Unit
あなたは、2番目が最初のものを包含しているということは正しいです。ただし、最初のものは実際には存在しません。ドキュメントをよく見ると、次の単語が表示されます[use case]
。
abstract def copyToArray(xs: Array[A], start: Int, len: Int): Unit
[use case] Copies elements of this collection to an array.
[use case]
Scala APIのAは、署名の簡略化された形式を示しています。これにより、クレイジーな型アノテーションに混乱する可能性のある新しいScalaプログラマーにとって、それほど怖くない方法で「典型的な」使用法が得られます。
map
(CanBuildFrom
ものが隠されている)を含む他の多くの方法でも同じことがわかります:
abstract def map[B](f: (A) ⇒ B): CC[B]
[use case] Builds a new collection by applying a function to all elements of this collection.
def map[B, That](f: (A) ⇒ B)(implicit bf: CanBuildFrom[Traversable[A], B, That]): That
Builds a new collection by applying a function to all elements of this collection.
Martin Oderskyが問題について議論している古い投稿を読むには、ここを参照してください。
それはscaladocアーティファクトのようです。
$ scala29
Welcome to Scala version 2.9.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_22).
Type in expressions to have them evaluated.
Type :help for more information.
scala> val c = List(1,2,3)
c: List[Int] = List(1, 2, 3)
scala> c.copyToArray
def copyToArray[B >: A](xs: Array[B]): Unit
def copyToArray[B >: A](xs: Array[B], start: Int): Unit
def copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Unit