1

なぜこれが機能するのですか:

val addOne = {a : Int => a + 1 }

しかし、これはそうではありません:

val addOne = a: Int => a + 1

私が理解している限り、どちらも 1 つの入力パラメーターを持つ無名関数を宣言しています。

4

2 に答える 2

5

パラメータ リストは括弧で囲む必要があります。

val addOne = (a: Int) => a + 1

完全な構文については、言語仕様を参照してください。

于 2012-05-08T09:03:01.963 に答える
4

関数を定義して値に割り当てるためです。

{ a: Int => a + 1 }

定義済み関数です。この方法でも関数を定義できます。

(a: Int) => a + 1

また

(a: Int) => { a + 1 }

同じです。穴の式を囲む括弧を使用したくない場合は、パラメーターリストを括弧で囲んで機能させるだけです。

于 2012-05-08T09:14:04.753 に答える