その日あった事ダス第196週
◇ むちゃくちゃ久しぶりの日記更新。別に書きたいことがなかったわけじゃないけど、自分の時間が取りづらくなってきていたので、日記に割く時間を削ったのでありました。ちなみにまだまだしばらくこの状態が続く予定。時間が欲しいですな。
◇ ところで最近 ruby にはまり中。いや前からはまってたけど更にはまったっていうか。実装方法をいろいろ考えるのが楽しい。新しい言語覚えたてに気分と同じやね。
◇ 今日の課題は「Threadの起動/終了時に特定のコードが実行されるような仕組みを作れ」
◇ んで作ったもの。
class ThreadEX < Thread def initialize(*arg,&block) proc = Proc::new{|*a| pre_method; block.call(*a); post_method} super(*arg,&proc) end def pre_method end def post_method end end
ちょっとだけ Proc に強くなったかも。他にもいろいろ ObjectSpace#define_finalizer とか、Thread ::new の中で更に Thread を起動させたりしたけどイマイチ上手くいかず。起動/終了時に実行されるコードが簡単に指定できりゃなぁ。まあサブクラスつくりゃええんだけど。
◇ ちう感じの日々を過ごしておりまふ。
◇ あ、上記のだと block.call 内でエラーが出たらダメかな。rescue して raise させりゃ良いか。
このページは基本的にリンクフリーです。