気になる開発プロダクツ

第7回 Scala 2.6.0-final

この記事を読むのに必要な時間:およそ 6 分

Scalaは,オブジェクト指向と関数型というそれぞれの要素を兼ね備えた設計がされているスクリプト言語とその実装(処理系)です。スイス連邦工科大学ローザンヌ校(EPFL)のMartin Odersky教授によって,2001年から設計が開始されました。最初の実装がリリースされたのは2003年です。これから紹介するバージョン2.6.0-finalのリリースは,2007年9月11日でした。

Scalaで開発されているプロダクトとして,WebフレームワークのlifeテストツールのRehersalScalaCheck振る舞い駆動設計(Behaviour-Driven-Design)フレームワークのspecsなどが挙げられます。また,ビルドツールMavenのScalaプラグインも存在します。

Scalaの実装は学内のProgramming Methods Laboratory(LAMP)を中心に行われています。配布ライセンスはBSDライクのScala Licenseです。実行にはJDK1.4以降が必要となります。

Java VM上で動作するスクリプト言語としては,JRubyJythonなどいくつかありますが,Scalaもそれらと同じようにコマンドラインシェル上で入力したソースコードを,コンパイルの手順を踏まずに実行することができます。一方で,ソースコードをJavaのclassファイルにコンパイルしてから実行することもできます。

本稿では短いプログラムを実行するまでの手順と,基本的なプログラミングについて紹介していきます。言語仕様の詳細はドキュメントのページにある各種の英語版PDFファイルを参照してください。ドキュメントの一部はWikiサイトで閲覧することもできます。

基本的な使い方

ダウンロードとインストール

ダウンロードは,ScalaをインストールするマシンにJDK1.4以上がインストール済みであることを確認してから行います。

ダウンロード用のモジュールは,OSプラットフォームを問わないJavaインストーラや,ZIP,GZIP,RPMなどの形式があります。読者の環境に合ったものを選択してダウンロードしてください。容量はファイルの種類によって異なりますが,約12~17Mバイトあります。

インストールはこれらを展開すれば完了です。必要があれば,展開時に生成されたルートディレクトリ(scala-2.6.0-final,以下%SCALA_HOME%とする)の中にあるbinディレクトリのフルパスを環境変数PATHに追加しておきます。そうすると,Scala関連のコマンドをカレントディレクトリの場所を問わず実行できます。

筆者のWindows環境でZIPをダウンロードし展開したところ,約30Mバイトのフォルダやファイルが生成されました。

コマンドラインシェルでのプログラム実行

Scalaのコマンドラインシェルはscalaコマンドで実行を開始します。終了するには:quitを入力します。コマンドラインシェルの実行から終了までの流れを図1に示します。ここではいわゆるHello Worldプログラムを実行していますが,日本語の文字列もとくに問題なく扱えることがわかります。

図1 コマンドラインシェルの実行と終了

%SCALA_HOME%\bin> scala                          ← コマンドラインシェル開始
Welcome to Scala version 2.6.0-final.
Type in expressions to have them evaluated.
Type :help for more information.

scala> object ScalaProgramming {                 ← ソースコード入力開始
     |   def main( args: Array[ String ] ) {
     |     println( "Scalaによるプログラミング" )
     |   }
     | }
defined module ScalaProgramming                  ← ソースコード入力終了

scala> ScalaProgramming.main( null )             ← プログラム実行
Scalaによるプログラミング                        ← 実行結果(メッセージ出力)

scala> :quit                                     ← コマンドラインシェル終了

%SCALA_HOME%\bin>

classファイルへのコンパイル

ScalaのソースコードをJavaのclassファイルにコンパイルするには,scalacコマンドを実行します。図1で入力していたソースコードをScalaProgramming.scalaとして,それをコンパイル後に実行する例を図2に示します。

図2 ソースコードのコンパイルと実行

> scalac ScalaProgramming.scala  ← ソースコードをコンパイル
> scala ScalaProgramming         ← コンパイル済みのclassファイルを実行
Scalaによるプログラミング        ← 実行結果

Eclipseプラグインのインストール

ScalaにはEclipseプラグインも用意されていますが,こちらはJRE5以上とEclipse SDK 3.3の環境で利用できます。リモートサイトのURLはhttp://www.scala-lang.org/downloads/scala-plugin/ です。プラグインのインストール時にプラグイン開発環境(PDE)が要求されることがありますので,「Europa Discovery Site」から該当するものを探して一緒にインストールしておきましょう(図3)。これは画面右の「Select Required」ボタンをクリックして自動的に選択することもできます。

筆者の環境ではインストール時に警告画面が表示されましたが,「Install」をクリックしたらインストールは無事に完了しました。

図3 プラグインのインストール(Eclipse PDEも一緒に指定)

図3 プラグインのインストール(Eclipse PDEも一緒に指定)

Scalaプロジェクトの作成

プラグインのインストールが完了すると,Scalaプロジェクトが作成できるようになります(図4)。そこで,プロジェクトを作成してみましょう。図5「Scala Project」を選択したら,あとは一般のJavaアプリケーションと同じように操作すれば,Scalaプロジェクトが作成されます(図6)。

図4 Scala関連のメニューが追加されている

図4 Scala関連のメニューが追加されている

図5 Scalaプロジェクトの作成

図5 Scalaプロジェクトの作成

図6 作成した直後のプロジェクト

図6 作成した直後のプロジェクト

EclipseでのScalaアプリケーション開発

さっそくソースコードの入力,といきたいところですが,その前に必ずsrcフォルダのすぐ下にパッケージを作成しておかなくてはなりません。図4のメニューから「Scala Package」を選択してソースコード入力用のパッケージを作成しましょう。

パッケージの作成を終えたら,ここにアプリケーションとなるソースコードを入力するファイルを作成します。リスト1で実行したような,それ自体が起動できるようなものを作成するときは,図4から「Scala Application」を選択します。そしてダイアログにファイル名を入力した後に「Finish」クリックするとScalaパースペクティブが開き,ソースコードを入力できるようになります。

完成したプログラムを実行した例を図7に示します。Scalaパースペクティブといっても,見た目や操作は一般的なJavaパースペクティブとそれほど違いはありません。ソースコードもハイライトされて読みやすくなっており,筆者の環境では日本語の文字列も特別な設定変更をせずに扱うことができました。

図7 ソースコードの入力と実行(Scalaパースペクティブ)

図7 ソースコードの入力と実行(Scalaパースペクティブ)

著者プロフィール

沖林正紀(おきばやしまさのり)

SE/プログラマを経て,WebアプリケーションやXMLなどについて雑誌記事や書籍の執筆活動を始める。大手メーカで製品資料の作成や,セミナーの講師を担当したこともある。現在は,取材記事や製品レビューなどに執筆活動の幅を広げる一方,プログラミング教材の開発も手がけている。

著書

コメント

コメントの記入