Scala
プログラムと本当の Scala
開発 (sbt
)9/29までに演習に必要な情報をフォームに登録して下さい。みなさんから収集した情報を元に、GitHub にユーザ登録します。ユーザ登録しないと演習に参加することができません。
scala
インタプリタから scalac
へ)本当の Scala プロジェクト
Scala のプログラムの構造, object
宣言, main
, App
, package
object
/ class
/ trait
さまざまな定義
val x = expr
: 定数宣言
var x = expr
: 変数宣言とその初期値の設定
type x = texpr
: 型宣言
def f(arguments ...): T => { ... }
: 関数やメソッドの定義
特殊な関数 main
sbt
)What is sbt
(Scala Build Tool)?
Why do we use sbt?
How do we use sbt? - sbt
commands
lx01/compile
: lx01
プロジェクトのビルド
lx01/run
: lx01
プロジェクトの実行
project lx01
: これから作業するプロジェクトを指定
run
: (現在の)プロジェクトの実行runMain Hello1
: (現在の)プロジェクトに定義されているHello1
オブジェクト(に定義されたmain
関数)を実行。~runMain Hello1
: Hello1
オブジェクトを継続的に実行。Hello1
に影響を及ぼすソースコードが保存されるごとに、自動的に実行し直す。console
: Scala インタプリタを sbt
のなかから呼び出す。(デバッグに便利)
典型的な開発作業
sbt
: なにはともあれ sbt
を起動する。build.sbt
ファイルのある場所で実行しなくてはいけない。
project lx01
: これから作業するプロジェクトを指名する。~runMain ...
: 狙ったmain
関数を指定して、これを継続的実行。ターミナルとは別に好みのテキストエディタでScala
ファイルの編集
保存するたびに前述の ~runMain
コマンドにより狙ったmain
関数が再実行される。
この日の作業が終ったら、テキステディタを閉じ、sbt
の画面で [Enter]
をして終了。
本日、学んだ 本当のScala のプログラム の形式が定着していることを確認します。
問題の様式は「***をするScalaのプログラムを書きなさい」のような形式とします。
穴埋め問題ではありません。
ややこしいアルゴリズムの記述は要求しません。
今日の授業資料とGitHubリポジトリの lx/lx01 を参考によく勉強しておくこと。
最小 Scala プログラム
hello1.scala
- main
関数を使った方法hello2.scala
- extends App
を使った方法複数の文の実行 (sbt
で ~runMain
コマンドを使った継続実行しながら、文を追加した反応を観察するとよい)
hello3.scala
定数の定義と参照
hello4.scala
関数の定義と呼び出し
hello5.scala
変数の定義と更新
hello6.scala