一番重要なのは雰囲気で、それが実際にありえるかどうかは大した問題じゃない。とはいえ最低限のリアリティは必要。まぁ結局場合によるけれど……
さて、ニ段落目を書いては消し、書いては消し、結局うまく文章化できなかった。こういうのが多いな。
一番重要なのは雰囲気で、それが実際にありえるかどうかは大した問題じゃない。とはいえ最低限のリアリティは必要。まぁ結局場合によるけれど……
さて、ニ段落目を書いては消し、書いては消し、結局うまく文章化できなかった。こういうのが多いな。
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 っていうのはなんか違う気がする。