2016-10-26 14 views
2

を理解します。 IntからSimpleListへの暗黙の変換はありません。したがって、私はメソッド呼び出しのメカニズムを理解していません。は、私は次のコードを持っているScalaの表記構文

Object.method(アルギニン)

私はここでそのパターンが表示されません。私はスカラ表記法(接尾辞、接尾辞、後置詞など)の明確化が役立つと思います。私は構文的な砂糖を理解したいと思います。

おかげ

答えて

5

::は、右オペランドの方法です。スカラでは、メソッド名がコロンで終わる場合、メソッドは右のオペランドで呼び出されます。 したがって1 :: 2 :: Emptyは実際にはEmpty.::(2)で、SimpleListを返します。

1 :: <the-new-simple-list>は、::が正しいオペランドの1つであることを理解したら理解しやすくなります。 Scalaで

8

、コロンで終わるメソッド名..

  • フォーム右結合表現
  • は、右のオペランドのadditionaly invokendです。

したがって1 :: 2 :: Emptyは、実際にはEmpty.::(2).::(1)です。 。

+2

これは受け入れられる回答である必要があります。右のオペランドだけでメソッドを呼び出すだけでは、右の結合がなければ十分ではありません。 – ceran