scala
PartialFunctionは、すべての値について定義されているとは限らない関数を示しているFunction1の特殊なケース。 val pf:PartialFunction[Int,String] = { case i if i>1000 => "Big" } PartialFunctionそのものの話はとりあえず置いといて、Scalaってこんな…
Scalaz (Scar-lah-zed) is a library written in the Scala Programming Language. One mandate of the library is to depend only on the core Scala API and the core Java 2 Standard Edition API. The intention of Scalaz is to include general functi…
いろいろとうまくいかなくて苦労したので(2009/11/30現在)、メモとして残します。 まず、JDKはインストールしておいてください。 ハズレダウンロードはこちら http://www.jetbrains.com/idea/nextversion/free_java_ide.html?promo バージョンが古い あたり…
Scalaの強力な構文のひとつ、 match〜caseによるパターンマッチングですが、正規表現にも使うことができます。 scala> val a = """Regexp here, (\w+) and (\w+)""".r a: scala.util.matching.Regex = Regexp here, (\w+) and (\w+) scala> "Regexp here, ho…
Liftの CRUDify はコーディングをほとんどせずに、CRUD機能を提供してくれる、とても便利な機構です。Ruby On Rails(/AR)のscaffoldみたいな。で、OracleをRDBMSとしているときに、CRUDifyの"List"機能がまったく動いてくれない、と思って四苦八苦していたの…
前回の "なんで2回newされてるの?" については id:kmizushima さんや id:SiroKuro さん、 @kinaba さんといった識者の皆さんも想定外の動作だったようで、逆コンパイル(逆アセンブル)するという形で調査をされておりました。なるほど、こうやって追跡すれば…
Rubyの特異メソッド/特異クラスみたいなことが出来ないのか、と思って調べていたところ、初期段階として「既存のクラスを拡張できるか」という点を掘ってみることになりました。Scalaはもともと、RichStringというクラスがあり、java.lang.Stringクラスに存…
Liftの Loc実装を見ていて気がついた。 scala> trait Hoge { | def fuga:String; | def piyo:String = fuga | } defined trait Hoge scala> val a = new Hoge { | def fuga = "abc" | } a: java.lang.Object with Hoge = $anon$1@1f2a9da scala> val b = new…
で、その後いろいろ試しても全然うまくいかなくて、そりゃそうだよな、共通の親なら相互に代入できるとかないわーと思って、サンプルコードをとりあえず入力してみたらコンパイルエラーなんじゃそりゃ。Productとか全然関係なかったです \(^o^)/ オワタ
Liftのファイルアップロードのサンプルコードで var fileHolder : Box[FileParamHolder] = Empty (略) bind(... "receipt" -> SHtml.fileUpload(fileHolder = _),という部分がある。SHtml.fileUpload()の仕様を見ると、引数型は FileParamHolder => Any とい…