scala

jarファイルの実行

毎回忘れるので。 sbtで「package」と打つと、target/scala_(build.scala.versions) 配下にjarファイルが作成される。で、 java -classpath /opt/local/share/scala-2.8/lib/scala-library.jar:jarファイル メインのあるクラス 文章がわかりづらいな。

テキストファイルをオープンして内容を出力する

(この記事は Scala Advent Calendar jp 2010 : ATND の8日目です。) 「scala.io.Source.fromFile」というのがあってそれが使えそうだった。 val filename = "test.txt" scala.io.Source.fromFile(filename).getLines.foreach(println) おおお簡単!と思っ…

Mapの初期化

var map = Map("k1"->"v1", "k2"->"v2") ちなみに「"k1"->"v1"」の部分はタプルと言うらしい。 値の追加 map += "k3"->"v3" 取得 map.get("k1") res1: Option[java.lang.String] = Some(v1) map.get("k1").get res2: java.lang.String = v1 map.getOrElse("k…

Liftにライブラリを追加

project/build/LiftProject.scalaに追加 override def libraryDependencies = Set( "net.liftweb" %% "lift-webkit" % liftVersion % "compile->default", "net.liftweb" %% "lift-mapper" % liftVersion % "compile->default", "org.mortbay.jetty" % "jett…

main関数が複数ある場合

runを実行するときにどっちのmainを使うか選択肢が出る。 TODO:CustomActionsなどを使って複数のmain関数をきれいに使いこなせるようにしたい。

sbtにライブラリを追加

そもそもsbtにライブラリを追加するのがこのやり方 DefaultProjectを継承したクラスを記述して、project/build配下におけばいい。

liftwebからダウンロードしたもの

Lift :: Download からダウンロードしたもの #Project properties #Fri Apr 23 11:24:20 PDT 2010 project.organization=Lift project.name=Lift SBT Template sbt.version=0.7.4 project.version=0.1 def.scala.version=2.7.7 build.scala.versions=2.8.0 p…

liftのインストール手順

Lift :: Home Then cd into lift_sbt_prototype and type: sbtAt the sbt prompt, type: updateThen: jetty-runPoint your browser to: http://localhost:8080/

文字列を分割してリストにする

scala> "1 2 3" res0: java.lang.String = 1 2 3 scala> res0.split(" ") res2: Array[java.lang.String] = Array(1, 2, 3) scala> res2.toList res3: List[java.lang.String] = List(1, 2, 3) splitで分割したらArrayになって、toListでListになる。