2017-09-14 6 views
2

初心者からスカラーへ、コレクションを混乱させるための記号表記を見つける。私が使用することができ、リストまたはベクトルに項目を追加するには:私は私が使用することができ、リストに付加する場合は、この方法ベクトルスカラの前に

List(1, 2, 3).:+(4) 

の中置形であることを理解し

List(1, 2, 3) :+ 4 

List(1, 2, 3).+:(4) 

中置形は私にコンパイルエラーを与えるしかし

List(1,2,3) +: 4 
Error:(121, 16) value +: is not a member of Int 
Vector(1,2,4) +: 4 
      ^

誰かが私にScalaで

答えて

3

を啓発することができ、コロン:で終了し、中置記法で使用されている方法は、その方法が右側に存在する元素であることを意味、右結合です。次のものが必要です。それは、リスト上の明示的な呼び出しがあるので、これは発生しませんドット表記でList[T]を使用する場合は

4 +: List(1,2,3) 

。挿入表記法を使用する場合、コンパイラは構文の削除を追加します。この:

List(1,2,3) +: 4 

4.+:(List(1,2,3)) 

になっているが、+:Int上を見つけることができませんので、文句を言います。

+0

ありがとうございますコレクションAPIの変更の基本といくつかのリソースをオーバーロードされた演算子を解釈することをお勧めできます、件名のスカラードキュメントはかなり疎です –

+0

@LukeDeFeo私はhttps://docs.scala-lang .org/overviews/collections/overview.html –

関連する問題