2005-01-12 ========== ソレっぽさ ---------- Reference URI: http://lowreal.net/logs/2005/01/12/1 Written Time: 2005-01-12T03:27:34+09:00 Tags: life thinking 一番重要なのは雰囲気で、それが実際にありえるかどうかは大した問題じゃない。とはいえ 最低限のリアリティは必要。まぁ結局場合によるけれど…… さて、ニ段落目を書いては消し、書いては消し、結局うまく文章化できなかった。こういう のが多いな。 chokan 再実装 ------------- Reference URI: http://lowreal.net/logs/2005/01/12/2 Written Time: 2005-01-12T22:21:34+09:00 Tags: prog ruby irc IRC (Internet Relay Chat) BOT を作り直し。RICE 使うことにする。 プラグインのロード方法を変えた。新しい無名のモジュールを作ってその中で実行してクラ スのインスタンスを得るようにする。そうすれば空間が汚れないし GC (Garbage Collect) 的にも嬉しいっぽい。たぶん。 def load(klass_name) filename = klass2file(klass_name) mod = Mo dule.new mod.module_eval(File.open("#{dir}/#{filename}") {|f| f.read}, fil ename) c = nil begin c = mod.const_get(klass_name) rescue NameError raise ClassNotFoundError.new("#{dir}/#{filename} mu st include #{klass_name} class") end # @klass (new に渡した上位クラ ス) を継承していなかったらエラー if c < @klass @plugins[klass_n ame] = { :instance => c.new, :loaded => Time.now, } else raise NotInheritAbstractClassError.new("The class #{klass_name} must inherit #{@klass}") end klass_name endAbstract っていうのはなんか違う気がする。