scala

ScalaでRubyのFile.joinみたいなのを実装

こんな感じで。 /** * 与えられた複数の文字列からファイルパスを作成する。 */ def createPath(pathes: String*): String = { import java.io.File pathes.foldLeft(""){(s, p) => (new File(s, p)).getAbsolutePath()} // ("" /: pathes){(s, p) => (new F…

ScalaのREPLでクラスパスを追加したい場合

■REPL開始時に読み込む方法 scala -cp /home/hoge/hoge.jar ■REPL実行中に追加する方法 :cp /home/hoge/hoge.jar

ScalaのListでインデックス付きの操作を行いたい場合

zipWithIndexを使う。 タプルに値とインデックスが入る。 val l = List("A", "B", "C") for(e <- l.zipWithIndex) yield e._2 + " : " + e._1 すると、List[java.lang.String] = List(0 : A, 1 : B, 2 : C)みたいになる。 ■追記 コメントいただきました。パ…

sbtでcommons-netのライブラリをダウンロードする

scalaアプリケーションでFTP操作をしたくなったので、 sbtでCommons Netを落とすための方法を調べてみました。 自分でjarをダウンロードしてlibディレクトリに入れればいいのですが、 mavenレポジトリからダウンロードも可能なので、そっちで試してみました…

sbt(simple-build-tool)でのScalaバージョンの変更方法

2.8.0.RC3で作成していたアプリを2.8.0に変えたくなったので、 sbtでバージョンを変える方法を調査。 まあ、ここ(http://code.google.com/p/simple-build-tool/wiki/Loader)に書いてるけど、 一応メモ。 $ sbt > ++ 2.8.0 > set build.scala.versions 2.8.0 …