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

i18nの整理

Rails2.2のi18nの使い方を整理しておきましょうっと。 初期化 「/config/initializers/locale.rb」で基本の設定を行う。 主な設定属性は以下のとおり。 I18n.load_path 翻訳テキストファイルのパス I18n.default_locale デフォルトの言語 I18n.locale 現在の…

コルーチンのお勉強

プログラミングGaucheのコルーチン(19.8)内容のお勉強。P299に載っているexitのための手続きが定義されるほうのコルーチンを定義するためのマクロ定義の解読。 (use util.queue) (define *tasks* (make-queue) ) (define-syntax define-coroutine (syntax-ru…

継続のお勉強

プログラミングGaucheのcall/ccでの継続(19.4-19.6)内容のお勉強。 break/next名前付き for-each 本のサンプルより単純な例(受け取るリストを可変ではなく1つに限定)で実装してみる。 (define-syntax for-each-ext (syntax-rules () [ (_ break next expr l…

メソッド適用のカスタマイズ

プログラミングGaucheの[17.5.3 メソッドの適用のカスタマイズ]の内容を復習。総称関数を標準のクラスのインスタンスではなく、これを継承した独自のクラスのインスタンスとすることによりメソッドの適用方法をカスタマイズ(今回はログ出力)する。 総称関…

sumとaverage

プログラミングGaucheを読んでいる途中ですが、リストの再帰処理の復習として合計と平均算出を実装してみる。 sum 0を初期値とし、要素の値を加えた値を引数として渡して再帰していく。最後にその値を返すという末尾再帰による実装。 (define (sum lis) (let…

プログラミングGaucheの練習問題(オブジェクト-外部表現文字列変換)

プログラミングGaucheの14.3の練習問題(P203)をしてみる。 write-to-string オブジェクトを外部表現文字列にしたものを結果として返す手続き。 write手続きで文字列ポートへ書き込めば、call-with-output-stringがそのポートに書き込んだ内容を結果として返…

プログラミングGaucheの練習問題(入れ子リストへの手続き適用)

プログラミングGaucheの7.2の練習問題(P68)をしてみる。 for-each-numbersとmap-numbers これらは、filter関数でnumberのみにフィルタリングされたリストに対して、for-eachまたはmapを適用するだけなので、以下のとうり。 (define (for-each-numbers pred l…