«前の日記(2004年03月04日) 最新 次の日記(2004年03月06日)» 編集

Matzにっき


2004年03月05日 [長年日記]

_ [Ruby]バグ

面倒なバグが発見される。Procの中からbreakやreturnが実行されたとき、 ジャンプ先が存在しないケースがあるので、その場合にはLocalJumpError例外が発生する。 その例外の発生条件がbreakとreturnで異なっていることに気がついていなかった。

つまり、

def foo1
  Proc.new{break}.call
end

def foo2
  Proc.new{return}.call
end

とあるとき、foo1の方はbreakのジャンプ先であるProc.newの呼び出しが完全に終了しているため、 飛び先が存在しないのでLocalJumpErrorが発生する。しかし、foo2の方はreturnの飛び先である foo2(の終端)がまだ存在しているため、そのままreturnすれば良い。

で、長い時間かかってなんとなくうまく動いているところまで持っていったのだが、 まだよくわからないコードが残っている。リファクタリングしないとな。

_ [METI]第3回高度IT人材早期発掘のあり方検討会

東京に移動。内容を具体的に書くのはまずいような気がするので、 印象とキーワードだけ。必要に応じて妄想してください。

結局事務局の努力により、無難な線にまとまりそう。

プログラミングコンテスト、プロコン、検索にかからない、 自前サイトの必要性、 プレゼンスの改善、インセンティブ、結果のフィードバック、 ノウハウの蓄積ができるように、 プログラム実行を作品として見るか、ソースコードそのものを見るか、 ソースコードレビュー、公開するかどうか、 一点突破主義を認めたい、自己申告制。

セキュリティキャンプ、セキュリティ甲子園への道、 合宿、講義、雑談、学習、次年度のチューター。


«前の日記(2004年03月04日) 最新 次の日記(2004年03月06日)» 編集