スカラセミコロン:以下の条件のいずれかが真でない限り、要するに推論の例は、「Scalaでプログラミング」セミコロン推論規則導入
は、ライン終了をセミコロンとして扱われる:
- 問題の行は、ピリオドや中置演算子などの文の終わりとしては合法ではない単語で終わります。
- 次の行は、文を開始できない単語で始まります。
- 行は、かっこ(...)または角かっこ[...]で囲まれていますが、これは複数のステートメントを含むことはできないためです。
しかし、私は2番目の条件で、誰が例を挙げることができるという例は見つけられませんか? *次のコードを試しました。*はステートメントを開始できませんでしたが、失敗しました。
1 * 2
*3
'いくつかの(2).MAP {F => F * 2 }' 申し訳ありませんが、SOコメント緩いインデント。とにかく... '=>'を新しい行に入れた場合 – mfirry
'*'は文を開始できないと思いますか? http://scala-lang.org/files/archive/spec/2.13/01-lexical-syntax.html#newline-charactersを慎重に読んでください:(** bold ** emphasis mine):「Theステートメントを始めることができるトークンは、次のデリミタと予約語を除くすべてのScalaトークン** *です:catch、else、extend、finally、forSome、match、 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' ) '、'] '、'} '"となります。 '*'はそのリストには表示されません。なぜでしょうか?メソッド呼び出しは、ステートメントを開始すると完全に合法です。 –