2009-07-01から1ヶ月間の記事一覧

オーバーライドできるtry-catch-finally

注意 タイトルは嘘です。 正確にはtry-catch-finallyらしきもの。 概要 try-catch-finallyをメソッドでラップし、拡張可能にする。 メソッドチェインで本物に似せる。 動機 printStackTraceなど、お決まりのtry-catch-finallyを書くのが面倒。 基礎知識 必要…

ファンクションの上からスタックを見下ろす

動機 Iterable.foreachなど、関数を引数にとるメソッドの実装を知りたい。 予備知識 必要な知識はこのへん。 メソッド呼び出しはスレッドごとにスタックを積む 関数呼び出しはFunction1.applyを実装したメソッドの呼び出しである Throwableをnewすると、その…

Scala入門・ゼロと後者関数

動機 自然数ってゼロとサクセサーだよね。 概要 ゼロは自然数である 自然数の後者はまた自然数である という自然数の作り方がある。Scalaの1つの特徴は、コンストラクタ以外のパターンマッチが書けること。 一般に関数型言語でパターンマッチができるのは、…