generated at
Scala


関数型プログラミングOOPの融合を目指した言語
設計者はMartin Odersky
Scalaのロゴの赤い螺旋はMartin Odersky教授がいるスイス連邦工科大学ローザンヌ校の螺旋階段がモチーフらしい ref
JVM上で動作する
昔は.NET Framework上で動いていた
Javaのクラスを継承したりもできる



Repl
$ scala
:q で終了
実行
$ scala hoge.scala
コンパイルせずにインタプリタ的に実行
$ scalac hoge.scala
コンパイルして Hoge.class ファイルを生成
これはJVM上で実行可能なファイル
コンパイルするためにはclassなどが必要
$ scala Hoge
.class ファイルを実行
なんかよくわからんが $ java Hello$ でも実行できるんか? ref 『実践Scala入門』 p.20

val の前に lazy をつけると変数の初期化を初回のアクセス時まで遅延できる
なにがうれし?
ブロック文の最終行の値を束縛できるやつ
scala
lazy val lazyDate = { println("Initializin a date value...") new java.util.Date }
関数と何が違う?






入門



圏論


scala rust

はてなの大規模リニューアルの話

サービス