コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

週の始まりなのでScalaやります。

僕は逃げてばっかりだ

突然だけど、僕はJavaが書けません。

Java仮想マシンがわかりません
JDKJREがなにものなのかわかりません
JDBCJSPなどの関連技術がわかりません
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("月曜日ではないです")
  }
}

とりあえずこんな感じになります。以前の記事にも書いてますがワイルドカード的なやつは"_"です。これで実行すると月曜日の「今日は月曜日です」とかでたりします。そんだけです。特に作りたいものないからこんな感じになります。


ということで、今日月曜日です。がんばっていきましょう。