2007-11-01から1ヶ月間の記事一覧

トップレベルでも捕捉されなかった例外を無理やり捕捉する。

微妙にタイトルに偽りがありますが。 END { begin raise $! rescue warn "捕捉! #{$!}" exit end } undefined_local_variable #ここで例外が発生する実行結果 捕捉! undefined local variable or method `undefined_local_variable' for main:ObjectEND はス…

例外を Ruby のエラーメッセージ形式に整形する

この例だと表示までしてますけど。あと、途中の省略はしません。 $@ はバックトレース、$! は例外オブジェクトです。 $@[0] = "#{$@[0]}: #{$!} (#{$!.class.name})" warn $@.join("\n\t")

MSYS で GNU screen

MSYS で GNU screen を使う。コンパイルには GNU のオリジナルパッケージ(screen-4.0.3.tar.gz)とcygwin のパッチ(screen-4.0.3-1-src.tar.bz2)が必要である。これらは適当なミラーサイトからダウンロードする。また、前準備として必要なら(安定版の MSYS を…

MSYS で色々コンパイルする準備

msysDVLPR最新版をいれる。簡単な手順。 msysDVLPR 最新版をダウンロード msys インストールフォルダ(おそらく /どこか/msys/1.0)を適当な名前で適当な場所にコピーする。ここでは /d/tmp/msys_d/1.0 としておく msysDVLPR をそのコピーしたフォルダ(/d/tmp/…

MSYS で cygterm

MSYS で cygterm を使う。現状の MSYS の /include/sys/termios.h にはバグがあるみたいなので以下のように修正する。 $ diff termios.h.orig termios.h 48c48 < #define CTRL(c'h') ((ch)&0x1F) --- > #define CTRL(ch) ((ch)&0x1F)あとは、make すればよい…