Scalaの基本構文
以前 Java プログラマーであり、Java 言語の基本を知っている場合は、Scala の基本構文をすぐに学ぶことができます。
Scala と Java の最大の違いは、Scala ステートメントの最後のセミコロン ; がオプションであることです。
Scala プログラムは、互いのメソッドを呼び出してメッセージ パッシングを実装するオブジェクトのコレクションとして考えることができます。次に、クラス、オブジェクト、メソッド、インスタンス変数の概念を理解しましょう:
オブジェクト - オブジェクトには属性と動作があります。たとえば、犬の属性には色、名前が含まれ、行動には吠える、走る、食べるなどがあります。オブジェクトはクラスのインスタンスです。
クラス - クラスはオブジェクトの抽象化であり、オブジェクトはクラスの具体的なインスタンスです。
メソッド - メソッドは、クラスに複数のメソッドを含めることができます。
フィールド - すべてのオブジェクトには、フィールドであるインスタンス変数の一意のセットがあります。オブジェクトのプロパティは、フィールドに値を割り当てることによって作成されます。
最初の Scala プログラムインタラクティブ プログラミングインタラクティブ プログラミングはスクリプト ファイルの作成を必要としません。スクリプト ファイルは次のコマンドで呼び出すことができます:
$ scala Welcome to Scala version 2.11.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_31). Type in expressions to have them evaluated. Type :help for more information. scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! scala>
スクリプト フォーム HelloWorld も作成できます.scala ファイルを使用してコードを実行します。HelloWorld.scala コードは次のとおりです:
object HelloWorld { /* 这是我的第一个 Scala 程序 * 以下程序将输出'Hello World!' */ def main(args: Array[String]) { println("Hello, world!") // 输出 Hello World } }次に、scalac コマンドを使用してコンパイルします:
$ scalac HelloWorld.scala $ ls HelloWorld$.class HelloWorld.scala HelloWorld.classコンパイル後、HelloWorld.class ファイルがディレクトリに生成されることがわかります。これは Java 仮想マシン (JVM) で使用できます。 コンパイル後、次のコマンドを使用してプログラムを実行できます:
$ scala HelloWorld Hello, world!オンライン例»
基本構文Scalaの基本構文は次の点に注意する必要があります:
大文字と小文字を区別する - Scala は大文字と小文字を区別します。これは、識別子 Hello と Hello が Scala では異なる意味を持つことを意味します。
クラス名 - すべてのクラス名の最初の文字を大文字にします。
クラス名を形成するために複数の単語を使用する必要がある場合は、各単語の最初の文字を大文字にします。
例:
class MyFirstScalaClassメソッド名 - すべてのメソッド名の最初の文字は小文字です。
メソッドの名前を形成するために複数の単語が使用される場合は、各単語の最初の文字を大文字にする必要があります。
例:
def myMethodName()プログラム ファイル名 - プログラム ファイルの名前はオブジェクト名と正確に一致する必要があります。
ファイルを保存するときは、オブジェクト名を使用して保存し (Scala では大文字と小文字が区別されることに注意してください)、ファイル拡張子として「.scala」を追加する必要があります。 (ファイル名とオブジェクト名が一致しない場合、プログラムはコンパイルされません)。
例: オブジェクトの名前が「HelloWorld」であると仮定します。次に、ファイルは「HelloWorld.scala」として保存されるはずですdef main(args: Array[String]) - Scala プログラムは、すべての Scala プログラムの必須のプログラム エントリ部分である main() メソッドから処理を開始します。
識別子
Scala では、英数字と記号の 2 つの形式の識別子を使用できます。
文字番号は文字またはアンダースコアで始まり、記号「$」も Scala では文字とみなされます。ただし、「$」で始まる識別子は、Scala コンパイラーによって生成される識別子とともに使用するために予約されており、アプリケーションは競合を避けるために「$」で始まる識別子の使用を避ける必要があります。
Scala の命名規則は、Java と同様の Camel 命名規則を採用しており、toString のように最初の文字が小文字になります。クラス名の最初の文字は大文字のままです。また、競合を避けるために、アンダースコアで終わる識別子の使用も避けてください。シンボル識別子には、次のような +、:、? などの 1 つ以上の記号が含まれます。
+ ++ ::: < ?> :->
Scala は、次のようなエスケープされた識別子を使用します。 -> これを表すには $colon$minus$greater を使用します。シンボル。したがって、Java コードで :-> メソッドにアクセスする必要がある場合は、Scala の内部名 $colon$minus$greater を使用する必要があります。
混合識別子は、Scala の + メソッドの内部実装の名前である unary_+ など、英数字の識別子の後に 1 つ以上の記号が続いたもので構成されます。リテラル識別子は、「x」「yield」など、「」を使用して定義された文字列です。
「」の間には任意の有効な Scala 識別子を使用できます。Scala はそれらを Scala 識別子として解釈します。これは、Thread の yield メソッドです。 yield は Scala のキーワードであるため、Scala では Thread.yield() を使用できません。このメソッドを使用するには Thread.`yield`() を使用する必要があります。
Scala キーワード
次の表は、scala の予約キーワードをリストしています。次のキーワードを変数として使用することはできません:
abstract | case | catch | class |
def | する | それ以外 | 拡張 |
false | final | やっと | for |
forSome | if | 暗黙的 | インポート |
match | new | null | |
オーバーライド | パッケージ | プライベート | |
リターン | シールド | スーパー | |
スロー | 特性 | try | |
type | val | var | |
with | yield | ||
: | = | => | |
<: | <% | > ;: | |
@ |