endless pulse

どっくんどっくんふるえる毎日を過ごしています

Scalaのインストールとかpluginとか(Mac OS X 10.6)

今度はScalaです。このブログは一体なんなんだ…って、私がどっかにまとめようと思った理系記事の寄せ集めなのでこういうことになってるんだけど;
OOP×FPと名高い、Scalaのインストールからエディタの設定?までを…。

MacPortsでインストール

なので簡単。…なのだけど、素人は少しはまったw


現在はScalaのバージョンとしては2.9.0が最新みたいですね。Macportsではscala27scala28…つまり、2.7.72.8.1があるよう。本も2.8.1版だったし、無理に最新にする必要も(たぶん)ないので、2.8.1をインストール。

$ sudo port install scala28

とすると、scala_selectscala28がportにインストールされたよう。何も考えずに試してみたら素っ気ない返事が。

$ scala
-bash: scala: command not found

???

最初はわかってなくてアンインストールしたりportのselfupdateしろとか言われてたな…!とか思ってやってみたりしたけど、やり直してみてももちろん一緒。そのうちoutdatedな奴らをupgradeしてたらやっと気づいた。

$ sudo scala-select scala28

これで、scala27とかじゃなくてscala28をscalaとして使いますよ、って設定ができるということらしい。ちょうどボスに教わっていたので気づけたけど…pythonいれたときも同じことしたのに全くわからず、portに言われたからしただけだったっていうのがまるわかり\(^o^)/

とりあえずこれをやると、

というコマンドを全部設定してくれるらしい。他のはちょっとまだよくわからないけど、

はかなり便利みたい。rubyでいうgem的なイメージ?でいいんだよね?

ローカルにScalaAPIドキュメントを

先ほどのsbazを使うと、ScalaのHTML形式のAPIドキュメントが簡単にDLできる。

$ sudo sbaz install scala-devel-docs

(11/11/18、間違っていたので修正しました。@bonboriありがとう)
どうやら、bin/sbaz があるところに置かれるらしいけど、私がMacPortsの設定を全然いじってないで落とした場合は、下記のパスにあった。

ちなみに、オンラインで見る場合は以下

じゃあ使ってみよう

とりあえず使ってみよう!ということで

$ scala

とだけ打ち込むと、対話モード(REPL)として開始。実行例は以下みたいな感じ。

$ scala
Welcome to Scala version 2.8.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_24).
Type in expressions to have them evaluated.
Type :help for more information.

scala> println("Hello,World!")
Hello,World!

scala>

何かスクリプト組んで渡すときは、

$ scala hoge.scala

クラスとか作ってそれを別ファイルで利用したりしたいときは、

$ scalac hoge.scala
$ scalac fuga.scala

とかやってあげてください。Javaと一緒。

エディタ関連

さて、Emacsが一色で悲しかったのでEditor関連整えようかなと。

Emacsscala-mode」

おお、Emacsにちゃんとscala-modeがあるらしい! どうやら、Scalaのソースとかと一緒に配布されているよう。 なのでとりあえずそれを落として、中にあるそいつをもらいに行く! 以下その流れ。

$ wget http://www.scala-lang.org/downloads/distrib/files/scala-2.8.1.final.tgz
$ tar -xzf scala-2.8.1.final.tgz
$ cd scala-2.8.1.final/misc/scala-tool-support/
$ cp -r emacs ~/.emacs.d/scala-mode

で、.emacs

(add-to-list 'load-path "~/.emacs.d/scala-mode")
(require 'scala-mode-auto)

を加えたら、Emacsを起動し直したら、色づいたー!  もっといろいろ機能があるみたいなので、下記ブログを参考にどうぞ。


参考にしたブログ。今はバージョンが2.8.1になっているだけ。

Eclipse plugin

Eclipseプラグインがあるらしい。さすがJVM上で動くだけある〜。手順としては以下の感じ。EclipseのDLとかはきっとググれば出るんでそっちでお願いします>< ていうか、下記の参考にしたブログにちゃんとそこから書いてあるのでそちら参照のほど。

  1. Eclipse起動
  2. Help->Install New Software…
  3. work withの横のテキスト入力できるところに以下を入力
  4. 右側のAddをクリックすると、下にScala IDE for Eclipseとか3つぐらい出て来るので、必要なものをチェック。(私は3つ共チェックしました)
  5. インストールが終わったら、Eclipse再起動

そうすると、おー、Scalaが増えてるーわーい! New ProjectでScalaのプロジェクトを作って、試し見てる…が、あれ、うまくいかない?
どうやら、Javaみたいにちゃんとmainメソッドを書いてあげれば動くらしいけど、スクリプト的な書き方は受け入れてくれないよう。ううむ…


参考にしたブログ。ほんとにこのままw

Netbeans plugin

ネット上の噂では、Eclipse版よりもこっちの方が優秀らしい? でもNetbeansで開発ってしたことないよ〜。と思いつつ、とりあえず試してみる。

  1. Netbeans6.9をDLしてインストール。
  2. ScalaのプラグインのバイナリをDL
  3. nb-scala-6.9v1.1.0.zipをクリックなりunzipなりで解凍
  4. そのフォルダごと、~/.netbeans/6.9/以下にpluginっていうフォルダでも作ってぶちこんであげましょう。
  5. Netbeans起動、ツール->プラグイン
  6. ダウンロード済み のタブを開き、 プラグインの追加 のボタンをクリック。おそらく ~/.netbeans/6.9/が表示されるのでさっきのバイナリを探して全部選択してあげる。
  7. 全部にチェックを入れて、インストール!
  8. Netbeansを起動し直せばできあがり。

まだ使ってみてないけど(ぇ)、とりあえずこれでちゃんと入ってることは確認した! 最初にも言ったけど、ネットの噂ではこっちの方が使いやすいらしいけど…?

(追記)
NetbeansでScala for Mac - magicpulseという記事で実際に使いました。いろいろ設定が他にもあったのでNetbeansで使う方はこちらどうぞ。


参考にしたサイト。

で、

ちょっと遊んでみたけど、Scala、いい感じに気持ち悪いねw
Unit!Any!