CVSから取ってきたやつをコンパイルして、2002-12-31版にしました。 年忘れバージョン。
3.0からアップグレードしました。 キーボードの反応が鈍かった問題は改善されたように思います。 これで、Windows環境も快適になりました。
仕事は来年に続くのですが、とりあえず、今年は、今日までということにしました。
SQLのSELECT文だとか、UPDATE文だとか、INSERT文だとか、標識変数の扱いだとか、 (列が多いと)一々、書くのは面倒なので、CREATE TABLE文から、自動生成するスクリプトを書きました。 こういうのを作るのだったら、それなりに楽しめます。 SQL文を全部、ごりごり書くよりよっぽどましです。
ruby -v ruby 1.7.3 (2002-11-27) [i686-linux]
と出るのは悲しいので、仕事へ行く前にコンパイルしてみました。
make test
も通り、
ruby 1.8.0 (2002-12-28) [i686-linux]
となりました。
ようやく世間に追いつけそう。(←何か間違ってます。)
遅ればせながら、[ruby-list:36830]のチェックなんかもしてみました。
また一歩世間に近づいた。(←だから違います。)
...と思ったら、rd2でrequireのエラーが...
そうか。ruby 1.8になったので、
ruby -e 'puts $:'
の結果が1.8のパスに全部変わってしまったからなのね。
まだまだ、世間から遅れてます。
ということで、racc と rdtoolをインストールしました。
世間にまた、ちょっとだけ近づきました。
そろそろ出かける用意をしよう。
忙しい上に、2週続けて出張なので、なかなかRubyに手を出す余裕がありません。 昨日は、パソコンを触りませんでした。疲れていて触る気にもなれませんでした。 遅くまで頑張っても、長い目で見れば生産性はさほど変わらない (下手すると気力体力消耗してマイナスになる)とわかっているんですけど...。
一応カレンダー通りに休んで、体力気力回復に取り組んでますが、 年末年始は、カレンダー通りになるのかどうか怪しいです。
この前、強引にコンパイルを通したlftpは、 ちゃんと出張先で働いてくれました。
UNIXのCの開発で、「(telnetでログインして)viで編集して...」と私が言ったら、 「それは、ちょっと...。(Windowsの)秀丸で編集して、FTPでサーバーに転送して...」 と言われました。 最近、他の人にも、同じようなことを言われました。 世の中、そういうものなんですか?
いや、私もviが使い易いと主張する気はありません。(正直、vimでないとつらいですから。) でもちょっとなあ...。
えっ? emacsですか? 相手は、「emacs? 何それ?」と言うんじゃないかと予想されます。 必ず、インストールされてるとは限らないですし。
という組み合わせは、相性が悪いですか? (Ruby/OCI の話ではありません。)
cygheap version mismatch detected
となってエラーになってしまいます。
You have multiple copies of cygwin1.dll on your system.
とも言われます。そんなはずは無いのですけど...。
前にやったときは、すんなり
./configure make make install
でインストールできたのに、最新版で試したらエラーになってしまいました。
lftp_tinfo.cc のコンパイルで、setuptermが見つからないと言われてしまいます。 仕方が無いので、
#include <ncurses/term.h>
とlftp_tinfo.ccの先頭に書いて強引にコンパイルを通しました。
今回は、
./configure --disable-nls make make install
としました。
...例によって、Cygwinの何かが足りないだけかも知れません。
購入しました。 この本をきっかけにしてXML再入門を果たすのが狙いです。
...その前に「JAVA PRESS 26」を今だに読んでいる私です。 手元には、「JAVA PRESS 27」もあります...。
先月買ったDVDを観ました。
1冊いただきました。ありがとうございます。
本日、ようやく受け取りました。 仕事で帰りが遅かったので、受け取るのが今日になってしまいました。 宅配屋さんは2晩続けて訪問してくれたみたいです。 申し訳ない。
ようやく読了。 確かにいろんなことがJavaScriptでもできるようです。 でも、実際の仕事では、 基本的に凝ったことはやらないというスタンスを取りそうな気がします。
Javaの開発環境が構築できなくて悩んでいましたが、Oracleをアンインストールしたら すんなり動くようになりました。 いろんなものをインストールすると、それと一緒にいろんなバージョンのJava Runtimeが インストールされ、振り回されるという罠。
... ひょっとして Windows DLL 地獄みたいなものですか?
非常にショッキングなタイトルのメールを見つけてしまいました。([ruby-talk:58284]) でも、非常に嬉しい内容でもあります。 "loved"と過去形になってるのがちょっと寂しい(笑)。 別に死んでいる訳ではないのですが、ずーっとほったらかしのままですね。 どうも、モチベーションがあがってこないのです...。 自分で使ってないというのが最大のネックです。
国内SFファン度調査の結果です。 やっぱりSFは読んでないですね。 どっちかって言うと、リストの中で、これはSFなのかとつっこまれそうな本に 限って読んでいるんじゃないかと思います。
結局、相性が悪いのは、私のせいでした。 Cygwin の環境に readline をインストールしてませんでした。 大ボケ。 インストールして、Ruby(Cygwin版)をリコンパイルしたら、調子良くなりました。
昨日の補足ですが、 それじゃ ANSI C 互換にならんだろうというツッコミは不可とさせていただきます。 getenvを使った関数のテスト用のドライバを書くために、setenvを使っているのです。 (一応、テスト・ファーストを目指しつつ、テスト・パラレル(テスト並行型)開発をこころがけているのです。)
うっかり、C++の癖で
for(int i = 0; i < 10; i++) { ... }
と書いたら、駄目だと言われてしまいました。
うーむ。 どうやら、 相性が悪いのは私の気のせいではないみたいですね。 私は、Cygwin版を使ってます。 調べる余裕は無いのですけど...。 ちなみにrxvtを使ってるときは大丈夫でした。
と思ったら、こちらでは、全く問題無いなんですね。 現象としては、なんか、Enterキーを押すといきなり終了しちゃったり、Ctrl + P がちゃんと動かなかったりします。
結局のところ
Rubyのバージョンが古い。(1.7系だけど最新じゃありません。)
readlineが入ってない。(Cygwinはフルインストールしてないもので。)
CygTermかTeraTermの設定ミス
のどれか(あるいは全て)かも知れません。
getenvはANSI Cで定義されていますが、setenvやputenvは定義されてないのですね。
gcc -Wall -ansi -c hoge.c
とすると、
implicit declaration of function `setenv'
と言われてしまいました。putenvも同じでした。
気持ち悪いから -ansiを外しちゃったのですが、そんなことしなくても、 とりあえず、hoge.c で、
extern int setenv(const char *str, const char *val, int overwrite);
と書いておけばいいということに、今気づきました。
というよりも、readlineとCygTermの相性が、あまりよろしくない?
CygTermとirbの相性が悪いような気がするのは気のせいですか?
[ruby-talk:57278]の問題は、WIN32OLE#ole_obj_help 経由で情報を得られるんじゃないかと思い、
require 'win32ole' ex = WIN32OLE.new('Excel.Application') ex.visible = true puts ex.ole_obj_help.name puts ex.ole_obj_help.progid puts ex.ole_obj_help.guid word = WIN32OLE.new('Word.Application') word.visible = true puts word.ole_obj_help.name conn = WIN32OLE.new('ADODB.connection') puts conn.ole_obj_help.name
とかやってみたのですが、あまり結果は芳しくありませんでした。うーむ。
それは、そうと、自分自身が、Win32OLEでどんなクラスやメソッドがあるのか(どんな機能があったのか) すっかり忘れていることに気づき、 ちょっと(かなり?)焦ってしまいました。
上の問題を調べるために、VMWareを起動して、Windows 2000を立ち上げたら、極端に遅くなってます。 特にキーボードの反応が鈍いです。 Linuxのkernelのバージョンを上げたせいでしょうか。 それとも、XFree86のバージョンアップが原因でしょうか? Vine LinuxのMLでそんな話を見たような気がするので、今度、ちゃんと調べましょう。
VMWareもバージョンアップすべきなのかも知れません。
遅ればせながらCygTermを試してみました。 これ、手軽で便利です。telnet デーモンを立ち上げなくてもTeratermが使えます。 しばらく使ってみようと思います。