"Code Readings" の和訳が出るのか。 原書はウィッシュリストに入れたまま放置されているなあ。 和訳が出たら RHG 読書会で読んでみたりする?
いや、やっぱり出費が必要なものはつらいか。ボツ。
しかし、一周目はたった七回で終わったんだね。 二週目は五回終わってもまだ『クラスとモジュール』までしか行ってない。 不思議なもんだ。
いろいろ入れた。
これでようやく ruby がコンパイルできる。
# とりあえずビルド
~/obj/ruby % ~/src/ruby/configure \
CFLAGS="-O2 -msg_disable ptrmismatch1,extrasemi" \
--program-suffix=-1.9 \
--with-lookup-order-hack=INET \
&> log.conf &&
make &> log.make &&
make test
test succeeded
~/obj/ruby % sudo make install aamine@as500.loveruby.net
~/obj/ruby % ruby --version aamine@as500.loveruby.net
ruby 1.9.0 (2003-12-31) [alphaev56-osf5.1]
# ダイナミックロードのテスト
~ % ls /usr/local/lib/ruby/1.9/alphaev56-osf5.1/nkf.so
/usr/local/lib/ruby/1.9/alphaev56-osf5.1/nkf.so
~ % LD_BIND_NOW=true ruby -rnkf -e 'p NKF' aamine@as500.loveruby.net
NKF
# test suite
~/src/ruby/test % ruby runner.rb aamine@as500.loveruby.net
Loaded suite .
Started
...................................................................E
/usr/local/lib/ruby/1.9/drb/drb.rb:560:in `load': too large packet 12884901888 (DRb::DRbConnError)
from /usr/local/lib/ruby/1.9/drb/drb.rb:610:in `recv_reply'
from /usr/local/lib/ruby/1.9/drb/drb.rb:864:in `recv_reply'
from /usr/local/lib/ruby/1.9/drb/drb.rb:1090:in `send_message'
from /usr/local/lib/ruby/1.9/drb/drb.rb:1015:in `method_missing'
from /usr/local/lib/ruby/1.9/drb/drb.rb:1014:in `open'
from /usr/local/lib/ruby/1.9/drb/drb.rb:1014:in `method_missing'
from /usr/local/lib/ruby/1.9/drb/extserv.rb:16:in `initialize'
from /usr/users/aamine/src/ruby/test/drb/ut_array.rb:12:in `new'
from /usr/users/aamine/src/ruby/test/drb/ut_array.rb:12
どっかで見たようなエラーがキター! なんだろこれ。また pack がらみかね。
drb を外して実行すると wsdl でも Failure が出たが、 これは i686-linux でも出てたので Alpha/Tru64 特有というわけではないようだ。 ちょっと待ってみよう。
"$@" の挙動ではまった。 Tru64UNIX の /bin/sh だと 引数がないときに空文字列が入ってしまう。
/usr/bin/posix/sh だと期待通り引数なしになった。 でもパスが違うと shebang で困るよな。やだなあ。
うーん、空白を捨てて $* にするしかないのかな。 いやそれは cvs ci -m '....' とかでドツボにはまりそうな予感がする。 やっぱりだめだ。
うううう。
あ。『入門UNIXシェルプログラミング』に解があった。
${@+"$@"}
とすれば確実にうまくいくらしい。をを、知らんかった。 よし、自作シェルスクリプトは全部これにしよう。
どうして年は越すんだろうねえ。 「くぐる」とか「もぐる」とか「飛び越える」というメソッドは定義されていないのか。
ああ、こんなことを書いている間に、 いまにも 2003 年が終わりそうになってる。 どうしたものやら。