2019年9月2日月曜日

Learning Scala(本)勉強といくつかの整理01] スカラー紹介、データ、式など

1. スカラ(Scala)の紹介

• Scala:拡張可能な言語(SCAlable Language)の略

• Static type systemのコンパイル言語

• 2004年マーティンオーダースキー(Martin Odersky)が最初に開発して配布

• オブジェクト指向プログラミング言語と関数型プログラミングの要素が結合されたマルチパラダイムプログラミング言語

• Javaバイトコードを使用→Java仮想マシン(JVM)上で実行可能

• Java言語との互換性→ほとんどのJava APIをそのまま使用可能

• REPL(Read-Eval-Print-Loop)シェル
 - コードを直接入力してすぐに実行することができる対話型シェル
 - インストールの後、cmdで「scala」を入力して実行


___________________________________
2.リテラル値、値、変数、非数値タイプ

• スカラは型推論(type inference)機能を提供

• リテラル(またはリテラルデータ)は、数5、文字A、テキスト「Hello、World」のように、ソースコードに直接登場するデータ

• 値(value)
 - 不変のタイプを持つストレージユニット
 - val<識別子>[:<タイプ>]=<データ>


• 変数(variable)
 - 可変のタイプを持つストレージユニット
 - var<識別子>[:<タイプ>]=<データ>
 - スカラでは、変数ではなく、値を使用することを好む→ソースコードが安定して予測可能になる



• 非数値タイプ
 - Any:すべてのタイプのルート
 - Null:null
 - Unit:値がないことを意味

___________________________________
3.式

• 式(expression)
 - 実行後の値を返すコード単位
 - 一行以上のユニットを中括弧{}で囲むと一つの表現であると考えており、これをexpression blockという
 - 変数のような従来のデータを変更する代わりに、値を返すことができるようにしてくれるので、関数型プログラミングの基盤となる
 - 関数は、式の他の形態



• マッチ表現式
 - switchと似た機能
  + 典型的なswitchステートメントは値をマッチングする作業に制限
  + スカラのマッチ式は、様々なアイテムをマッチング可能:タイプ、正規表現、数字の範囲、データ構造体の内容等
 - 0つまたはただ一つのパターンのみマッチング可能(breakステートメントの必要なし)



___________________________________

• スカラは、オブジェクト指向のプログラミング言語と関数型プログラミングの要素が結合されたマルチパラダイムプログラミング言語である。

• スカラはJVM上で実行し、Java言語と互換できる。

• スカラはREPL(Read-Eval-Print-Loop)シェルを使用して対話型の実行環境を提供する。

• 値(value)と変数(variable)を使用可能である。

• スカラは、さまざまなアイテムをマッチング可能なマッチ表現式を提供する。

0 件のコメント:

コメントを投稿