NULL::something

Login via flickr, はてな, TypeKey.

2005-01-12

ソレっぽさ

一番重要なのは雰囲気で、それが実際にありえるかどうかは大した問題じゃない。とはいえ最低限のリアリティは必要。まぁ結局場合によるけれど……

さて、ニ段落目を書いては消し、書いては消し、結局うまく文章化できなかった。こういうのが多いな。

Trackback URI: http://lowreal.net/logs/2005/01/12/1.trackback

chokan 再実装

IRC BOT を作り直し。RICE 使うことにする。

プラグインのロード方法を変えた。新しい無名のモジュールを作ってその中で実行してクラスのインスタンスを得るようにする。そうすれば空間が汚れないし GC 的にも嬉しいっぽい。たぶん。

    def load(klass_name)
        filename = klass2file(klass_name)

        mod = Module.new
        mod.module_eval(File.open("#{dir}/#{filename}") {|f| f.read}, filename)

        c = nil
        begin
            c = mod.const_get(klass_name)
        rescue NameError
            raise ClassNotFoundError.new("#{dir}/#{filename} must include #{klass_name} class")
        end

        # @klass (new に渡した上位クラス) を継承していなかったらエラー
        if c < @klass
            @plugins[klass_name] = {
                :instance => c.new,
                :loaded   => Time.now,
            }
        else
            raise NotInheritAbstractClassError.new("The class #{klass_name} must inherit #{@klass}")
        end

        klass_name
    end

Abstract っていうのはなんか違う気がする。

Trackback URI: http://lowreal.net/logs/2005/01/12/2.trackback

NULL

RSS feed meter for http://lowreal.net/logs/latest

Alternates

  1. RSS 1.0
  2. Atom 1.0

Generated with Taglibro

この日記は Taglibro と呼ばれる XML ベースの XSLT をテンプレートとして使ったシステムを使っています。現在の Taglibro は Ruby, ruby-xslt, libxml-ruby による実装です。ソースコードはとりあえず公開していません。