〜2003年6月下旬〜
jarh.rb:435: warning: multiple values for a block parameter (2 for 1)
と警告になってる。該当する行は
{'Ruby hacker,'=>'Just another'}.each{|x|print x.reverse.join(' ')}
で、xがまずいわけだね。
{'Ruby hacker,'=>'Just another'}.each{|*x|print x.reverse.join(' ')}
としよう。
オリコンの ウィークリーシングル30を見てたら「 nil?」というタイトルの曲があることがわかった。 いや、Rubyとは関係ないんだが。
BrickOS用のgccを作った。gcc 3.3を使ったら 例のmissing terminating " characterエラーが出て、直すのが面倒になった。gcc 3.2.3を使うか。 このgccの挙動って欝陶しすぎ。mulitline stringぐらい許したっていいじゃん。
% tar xfv binutils-2.14.tar.bz2 --bzip2 % tar xfv gcc-core-3.3.tar.bz2 --bzip2 % tar xfv gcc-g++-3.3.tar.bz2 --bzip2 % tar xfvz newlib-1.11.0.tar.gz % mkdir -p BUILD/{binutils,gcc,newlib} % toolroot=$(pwd) % cd $toolroot/BUILD/binutils % CFLAGS=-Os ../../binutils-2.14/configure \ --target=h8300-hitachi-hms --disable-nls % make % make install % cd $toolroot/BUILD/gcc % CFLAGS=-Os CXXFLAGS=-Os ../../gcc-3.3/configure \ --target=h8300-hitachi-hms --disable-nls --with-newlib \ --enable-languages=c,c++ % make LANGUAGES=c all-gcc % make LANGUAGES=c install-gcc % cd $toolroot/BUILD/newlib % CFLAGS=-Os ../../newlib-1.11.0/configure \ --target=h8300-hitachi-hms --disable-nls % make % make install % cd $toolroot/BUILD/gcc % make % make install
温度計が壊れたので、100円ショップで探してみたらあった。 無駄に時計もついてたりするんだが、温度計だけだと100円じゃ儲けすぎなんだろうか? どっちかというと湿度計をつけてくれたほうが嬉しいんだけど。 他にもこれで100円なのかって品がいっぱいあって面白い。
C++で書かれたdemoがだめだ。
% cat foo.cc class Foo { }; main() { Foo *foo = new Foo; } % gcc -dumpversion 3.3 % gcc foo.cc /tmp/ccKxtvt1.o(.text+0x16): In function `main': : undefined reference to `operator new(unsigned)' collect2: ld returned 1 exit status % gcc foo.cc -lstdc++ % /usr/bin/gcc -dumpversion 2.95.3 % /usr/bin/gcc foo.cc %
gcc 3というかg++ 3はnewを呼ぶと-lstdc++を必要とするってことか。 BrickOSはgcc 2.95.3で開発されてるってことだな。
開発版の4.1.1も出てる。
更新。
ext/syck/rubyext.cでrb_require( "date" );としてるため、 syckを静的にリンクするとdate.rbが必要となる。 たとえばdjgpp版ruby.exeはdate.rbがrequireできないとエラーになってしまう。
% wine --debugmsg err-all -- ./ruby -e 'p RUBY_PLATFORM' Warning: unprotecting the first 64KB of memory to allow real-mode calls. NULL pointer accesses will no longer be caught. g:/ruby/18/djgpp/ruby.exe: No such file to load -- date (LoadError) ruby 1.8.0 (2003-06-25) [i386-msdosdjgpp]
おお。wineでdjgppも実行できるのか。
JARHをRuby 1.6と1.8で動かしたときに表示される数が違うことに気づいた。
% ruby-1.8 jarh.rb |tr , '\n' |wc -l 206 % ruby-1.6 jarh.rb |tr , '\n' |wc -l 207
調べてみるとsingleton_method_addedだった。
def $_.singleton_method_added(*) print 'Just another Ruby hacker,' end
のようにsingleton_method_added自体を定義した瞬間にhookされるのは、 やっぱ変だよね。1.8だと直したとしてもこのJARHはあまり面白味がないな。
マニュアル見ればわかることをなぜ聞くかな。 String#stripを勧めるのもいいが、 \sが何を意味するのか本当に知らないんだろうか?
あ、英語版のマニュアルがない?
たしかにirc用ならscreenのdetach機能だけあれば十分だ。 というわけで試してみよう。
うぜー。
ruby-sqliteとは別物。別だけど、これもrequire 'sqlite'して使うわけで、
This differs from the 'ruby-sqlite' project (also on RAA) in that it is more complete,
と書いてることからも、喧嘩売ってるわけだ。 やっぱ気に入らないと俺拡張モジュールを作りたくなるようで、 まあ、ruby-sqlite自体公開形式からして変なので、 その気持ちはわからないでもない。
更新。
/proc/configってそういえば、 freshmeatで以前見た記憶がある。たしか proconfigって名前だった。 そのうち本家に取り込まれると思ってたんだけど、まだパッチのままらしい。 そういえばLinux 2.2のころに一度試したような気もするなあ。
なんか必要なものが多いが、 結局新たにインストールしたのはneon 0.23.7だけで済んだ。 http proxyの設定は~/.subversion/serversに
http-proxy-host = proxyサーバ http-proxy-port = port番号
てな感じで書いておけばok。 svn helpと実行すれば~/.subversion/以下が作られるので、 serversのコメントを参考にすれば設定は簡単。