artonさんの 「Rubyを256倍使うための本 - 邪道編」 が出版されたようです。 Win32OLEも扱ってくれています。(例によって原稿のDraft版を読ませて頂きました。)
日本語パッチを見つけました。 早速パッチをあててコンパイルして実行。 動きます。が、無茶苦茶にファイルの読み込みが遅いです。 英語版だったら2,3秒で終るファイルを読むのに2分ぐらいかかってます。 その間Xそのものが動かなくなります。マウスも動かないし画面の切替もできません。 最初は、Xを再起動させるしかないかと思いました。 Windowsでよく遭遇する状態と同じ状況を初めて経験しました(笑)。 一旦読み込めば後はオリジナルと変らない (いや、ちゃんと日本語も入力できるように変ってます。)感じで使えるのですが、 ちょっとつらいです。
Dia Windows版なんてものも見つけました。 Gimp for Windows(Gtk for Windows)のおかげで移植できたようです。 (私は試してません。)
背景色と行番号の情報を、rubywin.iniファイルに書き出すように修正。 色は、RGB値それぞれの値別にカンマ区切りで出力した方が分りやすいのでそのように変更。
Rubyの英語の本 が出版された(される?)ようです。 (アスキーから出版されている「オブジェクト指向スクリプト言語Ruby」の翻訳ではありません。 海外オリジナルです。) Win32OLEの解説もあります。 (Win32OLEを解説した部分の原稿のDraft版は随分前に読みました。)
背景色と行番号の表示関係を修正。
わたなべさんよりconfig.rbの新しいのをいただいたのでそれに差し替え。 ついでに、install.rbを作って、make installでインストールできるようにconfig.rbを修正。
使ってみました。実行すると(使っている間も)
WARNING Can't find menu entry '<Display>/ツール/Image'! This is probably a i18n problem (try LANG=C).
というメッセージが山のように出続けます。そこで、
export LANG=C
とやってから実行すると速攻でcore dumpしました(笑)。 動く気配すらありません(爆笑)。 ということでWARNINGメッセージつきで若干不便なまま使っています。 (今のところ、デバッグする気はありません。その余裕がないんです。 Diaが依存しているライブラリが古いせいかも知れないし。) さらにファイルを開こうとしたらcore dumpしました。1回だけですが(笑)。
ところでDiaのUML作成機能のでき具合は、どの程度のものなんでしょうか? 私は、UMLを知らないのでいいのか悪いのか判断できません。 やっぱり手元にUMLのリファレンスマニュアルが必要か。
最近のHotLinksでは、私のページは、すぐに上位の方から落ちてしまいます。 いい傾向です。 それだけRuby関連のページが増えて、頻繁に更新されているページも多いということです。
すぐに落ちるからといって更新頻度を増やすつもりはありません。:-) あくまでもマイペース。
早くも1.6.1。 来月以降、Ruby関係の本が何冊か出版される模様です。 1冊は海外から。
ついにリリース。
で、RubyWinのバイナリの配布の形態をどうするか、この間から考えていました。 最初は、Ruby 1.6の公開に合せてRubyWinもバイナリ公開するつもりでした。 ですが、すでに、わたなべさんが配布してくださっている 「丸ごとてんこ盛りパッケージ」 (私が勝手にそう呼んでいる。)があります。 バイナリが欲しい人はそっちをダウンロードした方が得だし、手間も省けるでしょう。 (標準添付以外の拡張ライブラリも含まれています。)
ということで、こっちでは、最新版のRubyWinのバイナリだけ用意しようか、 それともいっそバイナリ配布はやめようかと考えたりしています。
RubyWinのページも修正しないといけない。バグも直さないと。
irb関係でちょっとプロンプトの動きが怪しかった部分を修正。 ついでにScintillaも1.32に。 誰かScintillaのRubyモード作ってくれないかなあ。 (C#モードが既にあるのに)
好みは「アリバイの泡」(山口雅也)。 後は、人によっては怒るでしょうが、「真犯人を探せ(仮題)」(倉知淳)とか、 何故か結末が妙に落着かない「シャドウ・プレイ」(法月綸太郎)とか。
ImageMagicなるソフトが私のLinux環境にインストールされているらしいことを今日初めて知りました(笑)。
importとかconvertとかいうコマンドがあるらしいことを初めて知ったのです。
で試しに私の環境でも動くのだろうかとman importしたらImageMagicの文字が。
Linuxをインストールしたときに一緒にインストールされたんでしょう(←他人事)。
ところで、ImageMagicを連想させるような名前のコマンドはあるんでしょうか?
importやconvertという名前からは、ImageMagicは連想できません。
それともnetpbmにnetpbmというコマンドが無いのと同じで連想できるような名前のコマンドは無い?
メールを頂きました。 ImageMagic ではなくてImageMagickが正しい名前だとのこと。 もう一度確認したら確かにそうでした。ImageMagicだと思い込んでました。 また、ImageMagickを連想できるような名前のコマンドは無いそうです。 情報ありがとうございました。
使うかどうかわからないのだけど、 Diaをインストール。 WindowsでいうVisioにあたるソフトでしょうか。 (Visioも使ったことないので良くわかりませんが。) コンパイルして、実行すると、ごちゃごちゃとワーニングが出ますが、動きました。 日本語が駄目っぽいのは、私の環境のせい?
今朝、更衣室に行くと外人さんがいたんです。 どういう訳か、魔がさしたとでもいうのでしょうか。 何を血迷ったのか、深く考えもせずに 「グッド・モーニング!」と声をかけてしまいました。 そしたらその人が「Morning!」と返事してくれたんです。
ここでちょっと気になるのが、私には、 どうしても「Good Morning!」とは聞こえなかったことです。 これは
私が単に聞き取れなかっただけ。
どしゃ降りの雨の日は「Good」をつけないことがある。
会話などでは「Good」が省略されることがある。 「おはようございます」を「オッハー!」と省略するようなもの。
のうちどれなのか気になってます。
この件に関してメールを頂きました。 3番目の「Good」が省略された形だろうとのことです。 情報ありがとうございます。
月刊化第1号を購入。サイズが大きくなってます。CD-ROMの付録があります。 CD-ROMの内容を見るとWindowsより(全部?)ですね。ちょっと意外です。 収録ソフトのラインナップを見ると、 OPEN DESIGNの独自路線を出そうとしているように感じられます。
「服用量に注意のこと」(ピーター・ラヴゼイ)やはり短編集でした。
「不在証明崩壊」アンソロジーです。 1人を除いて他はみんな読んだことがある作家だったのでつい買ってしまいました。
「八月の降霊会」(若竹七海)またこの作家。
ちょっとずつ何とかすべく、調べてみました。
$LOAD_PATHの初期設定をするRuby API関数(という言い方でいいのか?)は、
ruby_init_loadpathでした。
こういうのは、grepで探します。まずは、$LOAD_PATHが使われているところを探します。
$ grep LOAD_PATH *.c
eval.c: rb_define_readonly_variable("$LOAD_PATH", &rb_load_path);
rb_load_pathというのが見つかりました。次は、rb_load_pathでgrepです。
$ grep rb_load_path *.c eval.c: rb_load_path = rb_ary_new(); ... ruby.c: rb_ary_concat(rb_load_path, ary); ruby.c: rb_ary_push(rb_load_path, rubylib_mangled_path2(path));
などというのが見つかります。eval.cで$LOAD_PATH(=rb_load_path)用に配列を生成していること、ruby.cで、$LOAD_PATHの設定をしているらしいことなどの見当をつけます。
後は、ruby.cをエディタで開いて、rb_load_pathで検索すれば、ruby_incpush関数経由でruby_init_loadpathなるいかにもそれらしい名前の関数が見つけることができます。(今回はかなりスムーズに目的のRuby API関数が見つかりました。)
RubyWinでもこの関数をコールすると、ちゃんと$LOAD_PATHが設定されました。
でもって、irbもあっさり動いてくれました。(ちょっとまだ問題があるんですが。)
readline拡張ライブラリがある環境でも大丈夫かどうか確認しておかなくては。 (私の環境でコンパイルしたMingw32版Rubyで今はテストしてます。 私の環境では、readline拡張ライブラリはコンパイルできないのでした。 Cのreadlineライブラリをインストールしてないからです。)
どうせならRubyWin側でreadline拡張ライブラリもどきを用意するのも面白いかも。
ダウンロードしたRuby1.6.0 mingw32のRubyWinは、まずい部分がいくつも。
irbが動かないし、$LOAD_PATHも設定されてないし。
やっぱりほったらかしにしたら駄目ですね。
ちょっとずつでも何とかしなくては。
私は、Rubyを自分でソースからコンパイルしているので、 バイナリパッケージは、ほとんどチェックしていません。 ですが、たまにダウンロードしておこうと思うことがあるんです。 主な理由は、RubyWinです。
RubyWinは、Rubyのバイナリが無いと動きません。 普段は自分で作ったRubyのバイナリを使って、RubyWinも開発、テストをしています。 (もう長いことほったらかしなんですが。) ですが、一応最後のチェックとして、公開されているRubyのバイナリを使って、 ちょっと使ってみるぐらいのことはしておこうかなと思う訳なんですね。
ということで、1.6.0の環境でRubyWinを試す作業を開始するにあたって、 バイナリパッケージの1つぐらいダウンロードしておこうと思い、 Ruby binaries からRuby1.6.0 mingw32パッケージをダウンロードしたんです。
やたらサイズがでかいので一体何が含まれているのかと調べてみたら... いやあ、驚きました。 RubyWinまでしっかり含まれているじゃないですか。
まだ、私は一度も1.6.0の環境でRubyWinを使ったこともないし、 コンパイルすらしたことが無いというのに。
bmingwですが、
export GCC_EXEC_PREFIX=/usr/lib/gcc-lib/mingw
と設定すれば、Rubyのバイナリができました。
さらに、試しにsetup.exeを使って最初からインストールし直すと GCC_EXEC_PREFIXを設定しなくてもRubyのバイナリができました。 素直にインストールするのが一番です。
結局私が馬鹿だったんです。
あ、そうそう、 Cygwin用ソフトのtar.gzファイルを展開するときは Cygwinのtarを使って展開するようにしましょう。 でないと、シンボリックリンクが展開されず、ちゃんとした 環境にならない可能性があります。 bmingwもそうです。