読者です 読者をやめる 読者になる 読者になる

Scala

exewrap を使う

実行可能 JAR ファイルから EXE ファイルを作成してくれるとても有り難いツール、それが exewrap。http://www.ne.jp/asahi/web/ryo/exewrap/SBT(Simple Build Tool)から exewrap を使ってみたいと思います。折角なのでプラグイン風にしてみます。まずは exew…

実行可能な JAR ファイルをつくる

SBT(Simple Build Tool)で実行可能な JAR をつくる方法です。SBT で JAR ファイルをつくるには package コマンドを使います。package コマンドのオプションを下記のページで確認します。Google Code Archive - Long-term storage for Google Code Project Ho…

リソースファイルを使う

SBT(Simple Build Tool)でリソースファイルを扱う方法です。native2ascii も併せて使っています。例えば下記のようにリソースファイルを各ディレクトリに置きます。リソースを xx.inosix パッケージに含むようにしています。 src main i18n xx inosix foo.pr…

Native2AsciiPluginを使う

SBT(Simple Build Tool)で native2ascii を使う方法です。まずは、Plugin の設定をします。project/plugins/Plugins.scala を作成します。 import sbt._ class Plugins(info: ProjectInfo) extends PluginDefinition(info) { val native2ascii = "eu.getinth…

ScalaTestを使う

SBT(Simple Build Tool)からScalaTestを使ったテストを実行する方法です。SBTでプロジェクトが作成されている前提で話を進めます。まず、project/build/MyProject.scala を作成します。 import sbt._ class MyProject(info: ProjectInfo) extends DefaultPro…

OptionのListからMapへの変換

Optionを要素に持つListから、Someである要素だけについて何らかの処理をした結果をMapで返すにはどうするのがScalaらしいのだろう?例えばこんな感じ? scala> val ol = List(Some(1), None) ol: List[Option[Int]] = List(Some(1), None) scala> Map() ++ …

org.eclipse.swt.widgets.Event.type を参照したいのだけど…

org.eclipse.swt.widgets.Event クラスには type という名前のメンバ変数があります。Scala プログラムから type メンバ変数を参照したいのだけど、type は Scala 予約語になっているわけで def handleEvent(e: Event) { e.type match { case SWT.Paint => c…

Java のライブラリを使う

試しに SWT(Standard Widget Toolkit) を使います。Eclipse (Helios) の plugins から org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar をコピーしてプロジェクトの lib フォルダの下に置きます。.ensime を編集して dependency-jars を追加します。 ( :p…

Hello World をつくる

Main.scala ファイルを新規追加して下記の内容を記述します。 package xx.inosix.swt object Main { def main(args:Array[String]) ={ println("Hello World!")}}なんて、適当に書いてみます。インデントがなく見栄えが悪いです。ENSIME の機能を使って整形…

プロジェクトをつくる

SBT(Simple Build Tool) を使ってプロジェクトをつくります。1. フォルダをつくる 2. 作成したフォルダに移動して次のコマンドを実行する $ sbt.bat Project does not exist, create new project? (y/N/s) y Name: SWT Sample Organization: nosix Version […

はじめての Scala

Scala の勉強なんぞをはじめてみたのでその記録です。ちなみに環境は Windows XP でやっています。Scala IDE for Eclipseを試してみたけれど、入力補完がイマイチな感じだったので久しぶりに Emacs を使ってみようかと。 Emacs 23.2 emacs 23.2 for windows(…