Last-Modified 2010/10/25 11:35:18

その日あった事ダス第196週


6月10日(日曜日)[前年][翌年]


6月11日(月曜日)[前年][翌年]


6月12日(火曜日)[前年][翌年]


6月13日(水曜日)[前年][翌年]


6月14日(木曜日)[前年][翌年]

むちゃくちゃ久しぶりの日記更新。別に書きたいことがなかったわけじゃないけど、自分の時間が取りづらくなってきていたので、日記に割く時間を削ったのでありました。ちなみにまだまだしばらくこの状態が続く予定。時間が欲しいですな。

ところで最近 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 させりゃ良いか。


6月15日(金曜日)[前年][翌年]


6月16日(土曜日)[前年][翌年]


このページは基本的にリンクフリーです。

written by Shin'ya Adzumi 'あづみ しんや'
adzumi@denpa.org