僕は逃げてばっかりだ
突然だけど、僕はJavaが書けません。
Java仮想マシンがわかりません
JDKやJREがなにものなのかわかりません
JDBCやJSPなどの関連技術がわかりません
AntやMavenが何をやっているものなのかわかりません
StrutsやSpringなどのフレームワークがわかりません
この世のありとあらゆるオラクル関連の技術を理解できません
そうしたわけで今日はJavaとか全くよくわかんない僕がScalaと呼ばれるAltJavaに触れながら、Javaについて理解していく感動のドキュメンタリーを提供していこうとかと思います。
まあ、この言語以前少しやっていたんですけどね……。ちゃんとコード書いて動かしてみようと思ったのでやってみます。
inujini.hatenablog.com
さて、茶番はこのくらいにして月曜ネタにやる言語の手持ちがなくなってきたので今日はScalaをやっていきます。このブログ、こんなわけわかんないことやっているせいで環境構築の内容だけ無駄に充実してます。もっと生産的な活動をしなくちゃいけないのにね……。
Scalaをはじめましょう
とりあえず何はともあれ、sbtなるものを導入していきます。これが何かと言うとビルドを簡単にしてくれるやつです。
sbt - The interactive build tool
早速、導入して使ってみようとかしたらJDKが必要とか言われた。どうして……。まあ、いいや。導入出来たら以下のコマンドを入力して動かします。
まずは対話モードで確認
$ sbt console scala> println("Hello") Hello
動きました。
対話で動いたの確認したので、ソースを書いていきます。概ね以下の流れでソースコードをいじれるようです。
# 最小ビルドをつくる $ mkdir 【名前】 $ cd 【名前】 $ touch 【名前】.sbt # sbt シェルを起ち上げる $ sbt # コード変更時に再コンパイルする sbt:【名前】> ~compile # アプリを実行する sbt: 【名前】 > run
ソース
object Hello extends App { println("Hello") }
これで実行すると以下のようになります。
sbt:sca> run [info] Compiling 1 Scala source to *** [info] Done compiling. [info] Packaging *** [info] Done packaging. [info] Running Hello Hello
うん、ソース書いて動くこと確認できました。
月曜判定機をつくろう
さて動くことの確認はできたんですけど、sbtの操作方法しかよくわかっていないのでScalaの公式ドキュメントを見ながら月曜判定と言う月曜日のときのみコンソール画面上に「月曜日だよと」表示されるクソプログラムを実装していきます。
公式
The Scala Programming Language
ドキュメント
Documentation | Scala Documentation
import java.util._ object Monday extends App { val cal = Calendar.getInstance().get(Calendar.DAY_OF_WEEK) if(cal == 2){ println("今日は月曜日です") }else{ println("月曜日ではないです") } }
とりあえずこんな感じになります。以前の記事にも書いてますがワイルドカード的なやつは"_"です。これで実行すると月曜日の「今日は月曜日です」とかでたりします。そんだけです。特に作りたいものないからこんな感じになります。
ということで、今日月曜日です。がんばっていきましょう。