Scala学習の一つ---基礎編

1482 ワード

変数の定義
     ,      ,           。                  ,     :
  • var:定義された変数は、
  • の値を変更できます.
  • val:定義された変数は変更できません.Javaでfinalで修飾されているものに相当します.FPのオフセットスタイルでは、valを使用してコマンドラインにscalaを入力することをお勧めします.いくつかのフォーマットを定義してみてください:
    val result = 8+2  
    result:Int = 10
    
    val str ="hello" .
    
    パラメータのタイプが見えます.これはシステムが自動的に推定します.
  • 一般的なタイプ
    scalaは純粋な学院派OO言語であり、Javaの基礎データ型はこれらが不純なOO概念であり、いくつかの妥協であると考えている.なぜなら、scalaにはベースデータ型がないからです.すべてのものはクラスで、対象です.8種類のjavaベースデータ型はそれぞれscalaのタイプ:Byte,Char,Short,Int,Long,Float,Double,Booleanに対応する.これらはすべてクラスです
    算術とオペレータのリロード
    Scalaのすべてのものはクラスなので、すべての操作はメソッド(または関数)であり、
    val sum = 1 + 2
    「+()」メソッドが実質的に呼び出され、次のコードに等しい.
    val sum = 1.+(2)
    2つのパラメータを持つ方法では,このフォーマットが用いられることが多い.メソッドで呼び出すフォーマットは、JAVAプログラマーの習慣ですが、Scalaを学ぶ以上、Scalaのフォーマットを採用することをお勧めします.さらに例を挙げます.
    1.to(10)
    これはJAVAのスタイルですが、scalaはもっと
    1 to 10 
    オペレータがメソッドである以上、自然にリロードできます.  注目すべきは、scalaには++がありません.--この操作です.代わりに+=1,-=1
    apply()メソッド
    "Hello"(4) //  'o'
    これは構造関数ではありません.これは実質的にscalaの言語糖で、実はapply()を呼び出しています.以上のコードは
    "Hello".apply(4)
    この方法については、後で付き添い人の話をするときに話しましょう.ここには懸念が残っています.
    APIおよびいくつかのツールクラスについて
    まずscalaのAPIは読みにくく、JAVAより百倍読みにくいです.でもやっぱり見に行ってみると、いくつかのコツがあります
  • 数値タイプはRichInt、RichDouble、文字列はStringOpsを探して方法
  • を探します
  • 数学操作関数はscala.mathパケット中の
  • に位置する.
  • scalaの関数はパラメータとして使用できる
  • である.