Scala入門記002 初めてのScalaプログラム
すでに3ヶ月サボってしまいました。
Scala漬けになりたい所ではありますが、なかなかそういう訳にもいなかないですね。。。
前回はScalaのちょっとした実行とsbtを紹介したので、今回はちゃんとプログラムをファイルに書いて実行するための記録です。
Scala入門記の目次はこちらです。
コマンド(scalacとscala)でコンパイルして実行する
最初はHelloWorldですよね。
JavaでHello!と表示されるプログラムを書いて実行するときは
public class Hello { public static void main(String[] args) { System.out.println("Hello!"); } }
というHello.javaファイルを作り、コマンドで
javac Hello.java #Hello.classができる java Hello #Hello!が表示される
という流れだったものが、Scalaでは
object Hello { def main(args: Array[String]) { println("Hello!") } }
というHello.scalaファイルを作り、
scalac Hello.scala #Hello.classができる scala Hello #Hello!が表示される
という流れになります。
まとめる程でもないですね(^^;
sbtでコンパイルして実行する
普通はEclipseとかのIDEを使うのでこんなことやらないのですが、sbtを使うとIDEがなくてもいいんじゃない?って感じにもなります。
上記のScalaのプログラムを書いたフォルダで
sbt ~run
として実行します。
本当は推奨のディレクトリ構造があるのですが、ルールに沿ってなくてもsbtは頑張ってくれます。
この時の「~」があるのとないのでは大違いです。
まず「run」によってsbtがプログラムを見つけて、実行してくれます。
sbtが出力出力するログに埋もれてしまって見づらいのですが、
Hello!
という出力があります。
そして「~」をつけたsbtはソースの更新待ちになっています。
sbtはそのままでHello.scalaのprintln("Hello!")をprintln("Hello world!")に変えてあげると、sbtは自動的に更新されたファイルをコンパイルして再実行してくれます。
便利ですね。
テキストエディタだけでもプログラムがかけてしまいそうです。
まとめ
プログラムのファイルから実行する流れを確認しましたが、私は結局はIDEを使うので今後はscalacはほとんど打たないでしょう(^^;
でも、sbtは今後もずっとお付き合いすることになると思います。
sbtは開発の中心にいつも存在することになりそうです。
Scala入門記001 初めてのScala環境
Scala入門の様子を記録してます。
3回目です。まだ書きためてあります。
Scala入門記の目次はこちらです。
Scalaのプログラムを実行するにはその環境が必要です。
今回はおそらく基本であろう2つの環境を紹介します。
Scala
Scalaを初めて使うために必要なのは普通にScalaインストールです。
ググってどこかのサイトを参考にして入れるといいと思います。
私はHomebrewで入れました。
brew install scala
実行環境としては、scalaに付属している対話型の実行環境(REPL)が便利です。
コマンドラインでscalaと打つとそのままプログラムが書ける環境になります。
起動すると
scala>
とプロンプトが表示されるので
println("hello")
と書くとhelloが表示されます。
Javaな感じで
System.out.println("hello")
と書いてもhelloが表示されます。
tabで補完できるので、ちょっとした動きを確かめるときにすごく便利です。
sbt
もう1つの実行環境としては、sbtが非常に便利で強力なので是非マスターしたいところです。
私はとりあえず、始める sbtをさらっと読みました。
簡単にまとめると、
でしょうか。
このツールを使いはじめることがScalaに入門することになるんじゃないかと思います。
これも私はHomebrewで入れました。
brew install sbt
sbtのセットアップはこの辺が参考になります。
http://scalajp.github.com/sbt-getting-started-guide-ja/setup/
sbtでどうやって実行するかは次回以降にまとめる予定です。
今回はここまでです。
Scala入門記000 前提条件
前提(私のこと)
- 基本はJavaエンジニア
- Javaの次のステップとしてScalaを使いたい
- 普段はEclipseでコーディング
- リファクタリング機能Love
- プロジェクト管理はmaven
- 最近は2年くらいGAEばっかりやってた
- 今年からAWSな感じ
- 仕事でScalaを使う
目的
手段
と、いい環境があれば色々使ってみたいところ。
環境
手元の資料
-
Scalaスケーラブルプログラミング第2版
わからないことがあればこれを開いています
1冊だけ買うならコレかな
電子書籍になって欲しいところ -
プログラミングScala
さっと目を通しました
少し古いけどオライリーのEbook Storeで電子書籍買えます - ボクらのScala ~ 次世代Java徹底入門
さっと目を通しました -
Scala逆引きレシピ (PROGRAMMER’S RECiPE)
トイレとかで読みたい感じ
今回はここまで。
以下、広告。
- 作者: Martin Odersky,Lex Spoon,Bill Venners,羽生田栄一,水島宏太,長尾高弘
- 出版社/メーカー: インプレスジャパン
- 発売日: 2011/09/27
- メディア: 単行本(ソフトカバー)
- 購入: 12人 クリック: 235回
- この商品を含むブログ (44件) を見る
- 作者: Dean Wampler,Alex Payne,株式会社オージス総研オブジェクトの広場編集部
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/01/20
- メディア: 大型本
- 購入: 3人 クリック: 320回
- この商品を含むブログ (38件) を見る
- 作者: 浅海智晴
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2010/06/25
- メディア: 単行本
- 購入: 5人 クリック: 231回
- この商品を含むブログ (20件) を見る
Scala逆引きレシピ (PROGRAMMER’S RECiPE)
- 作者: 竹添直樹,島本多可子
- 出版社/メーカー: 翔泳社
- 発売日: 2012/07/03
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 54回
- この商品を含むブログ (13件) を見る