Scala

Pythonのコースが終わりました、Scalaも無事修了できました

An Introduction to Interactive Programming in Python というコースは比較的簡単であったが、仕事と家庭が忙しすぎて2回分の課題を出せなかった。しかし他の課題に関してはほぼ100点をとったので、たぶん修了できるだろう。 一方Functional Programming Sc…

Bloxorz終わった!!

先だってエントリに書いたBloxorzを完了しました!初回の提出で10/10というのはいままでで初です。from(経路探索の関数)でなんども挫けそうになったが最高の達成感です。ついでに、いまさらですが、90%だったHuffman圧縮と、60%も達成できなかったsentence…

Courseraの無料プログラミング講座について

Courseraという無料のオンラインコースがあって、そこのFunctional Programming in Scala https://class.coursera.org/progfun-2012-001/class/index を受けています。死ぬほど難しいです。なんとかかんとかWeek04の課題まで100点満点ではないもののそれなり…

scala-devel-docを入れる方法

あまりにアホな事を書くようで恥ずかしいのですが、scala-devel-docをどうやってインストールするか毎回忘れてしまうので、メモ。scalaをいれたら、binの下にsbaz.batというのがある。これを使う。 コマンドプロンプトから以下のように入力して実行すると、…

scala-userMLのMultiple Constructorのスレッド

case class MyClass(param1 : String, param2 : String, param3 : String) { def this(param1 : String, param2 : String) = this(param1, param2, Utilitary.sign(param2)); } Object Utilitary { def sign(param : String) : String = ... do some stuff w…

Redcarのインストールについて、その1 〜インストール先をホームディレクトリ以外にするには〜

Redcarをインストールすると、C:\My Documents\云々の下にいろいろつくってしまう。 が、ポータブルHDDに全てをいれている自分にとってはこれは嬉しくない仕様だ。これを回避するのはすごく簡単で、redcar.bat install --home-dir=J:\development\my_profile…

IntelliJ IDEAでfscを使ってコンパイルするには

JetBrainのIntelliJ IDEAはフリーながらとても優れたScalaのIDEを提供しています。コンパイラーのセッテイング(下図)でUse fscにチェックをつけて、ではプロジェクトをCompileしようとすると以下のようなエラーが出ます。にっちもさっちも行かないのですが…

ArrayとArrayBufferのどっちがどのくらいパフォーマンスがいいか調べる

こんなコードで試してみた。 object cm2 { def main(argv: Array[String]) { //count("ArrayBuffer", argv(0), func_arraybuf ) count("Array", argv(0), func_array ) } def func_array(src: String): Unit = { val a = new Array[String](100) for (i <- 0…

文字列が一致してるかどうかチェックするのにregexとStringのどちらがパフォーマンスがいいか調べる

先だって拡張子mp4で終わるかどうかを調べるのに、Stringの比較で行った。 しかし、Regex使ったほうが綺麗に書けそうである。ということで、Regex使うのとどっちが早いか調べてみたくなった。こんなソースを書いた。 object cm1 { def main(argv: Array[Stri…

foobar200でflacなどからAACにコンバートしたファイルの拡張子、mp4をm4aに変換するScalaプログラム

import java.io.File object Mp42m4a { def main (args: Array[String]) { if (args.length == 1) traverse(args(0)) } private def traverse(path: String): Unit = { val target = new File(path) if (!target.exists()) { println(path + " not exists");…