ネットサービス関連でなんか俺とすごく温度差がある人がいるなぁ。野球に興味がある人とない人ぐらい。
なんだろ。心構えが違うっつうか、なんだろ……なんで違うかよく分からない。
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040907 Firefox/1.0 PR (NOT FINAL) にした。
Feed Back Agent のインスコ中にエラーでてインストーラ止まったのでタスクマネージャから強制終了。まぁ関係ないからヨシ。AiO がインスコできない。バージョン管理云々のせいだろうけどめんどいので放置。正式版はまだ遠い?
initialize にディレクトリ渡して、それ以下のファイルを全て読むようにしてみる。ただし先頭にアンダースコア付いてるときは無視。一定時間ごとに reload_if_modified
っつうのを呼び出せば勝手に読み込まれるし、アンダースコアをつければ勝手に開放される。
結局宣言して、インスタンスを作成して適当なクラス変数につっこんだら直ぐに remove_const
してみてる。
さーIRC BOT で使ってみよう。
RO チャンネル用に告知巡回と鯖チェック・モンスデータ取得とか。モンスデータは今のところ回避しかやってないけど必中とかもやりたいもんだ。いちいちブラウザ起動するより早い。どっかに生のデータないのかな。ローカルで MySQL に突っ込んだらよさそ。
このメソッドの挙動がよくわからない。PluginBase.class_eval(%Q|@@irc = irc|)
では思ったとおりだけど、PluginBase.class_eval { @@irc = irc }
だと uninitilized class variable が出る。とりあえず前者にしとけば動くのでいいけど、なんか気持ち悪い。
プラグイン側に API を提供しようってわけだけど、そんなこと最初考えてなかったとかいうアフォさなので全てのプラグインの先祖としてインターフェイスを宣言している PluginBase のクラス変数に適当なメソッドを持ったオブジェクトを入れておけば、それにアクセスしてアレコレできんじゃねぇかなぁと。(継承したクラスとかでも全て共有されるし)
上の irc は class_eval の前で irc = self
とかやってるやつ。だからプラグイン側でオーバーライドしてる on_join メソッド内で @@irc.notice(message, channel)
とかやればメッセージが送れるハズ。って自分で書いてて思うけど意味わからん。
あぁ。もしや @@irc も外側ってことになってるのかな。