Ruby言語やLinuxのネタが多いです。
April 29, 2002
■ [tDiary] Plugin#add_cookie
NTさん、ご報告ありがとうございます。きちんと動いてるんですね、良かった。あ、もちろん、手元では動作確認はしたので大丈夫だとは思っていたんですがイマイチ最近の自分の品質に自信がなくて...(^^;)。
HAL99さん。厳密に言うと、今のCVS版tDiaryでは現在のアクセスログプラグインは(CVS版側がその辺の仕様を@cookieからadd_cookieに変えた関係で)、使えなくなっています。以下のようにすれば、1.4.1でもCVS版でも対応できるはずです。
cookie = #ここにCGI::Cookieのインスタンスを代入する。
if defined?(add_cookie)
add_cookie(cookie)
else
@cookie = cookie
end
■ add_cookieが定義されていたらそれを使い、定義されていなかったら@cookieに代入しています。
■ もちろん、この場合でも、1.4.1ではプラグイン全部でCookieは1つという問題は回避できませんが。
■ [tDiary] アクセスカウンタ表示プラグイン 1.1.0リリース
カウンタプラグインですが日別のログをファイルに書き出す機能を追加してバージョンアップしました。よろしかったらバグ出し使ってみてください。
■ それから、その他、私が作ったプラグインのコードをクリーンアップしました。といっても、yasqueeze.rbの文字コードを変えたのと、fortune.rbをちょこちょこっといじったくらい。まぁ、こちらは機能的に変わったモノはないんで、すでに使ってる人は変える必要ないです。
April 29, 2003
■ [Ruby-GNOME2] XML Tree Viewer
Ruby/GTK2とREXMLでXMLの構造をツリー形式で表示するサンプルスクリプトを書いてみました。一応、Namespaceにも対応してます。
とはいえ、私自身はイマイチXMLとREXMLに関する知識が乏しいので、変なことをしているところがあるかもしれません。とくにNamespaceあたりがあやしいのですが、バグや改善案があったら教えてください。
(ちなみに、このXML Tree Viewer自体はここのツールを参考に実装しました。)
まぁ、これ自体はサンプルなので、これ以上複雑になるようでしたら別途ツール化とかを考えるかもしれません。
■ そうそう、Ruby-GNOME2ではこんな感じのスクリプトを募集したいと思います。お蔵入りさせてしまったスクリプトがあったらそれを公開してみませんか。
興味のある方は、Ruby-GNOME2 MLか私までご連絡ください。
April 29, 2006
% ruby -v
ruby 1.8.4 (2005-12-24) [i686-linux]
% cat test.rb
p "foo" % 1
% ruby test.rb
"foo"
%ruby -w test.rb
test.rb:1: warning: too many arguments for format string
"foo"
% ruby -d test.rb
Exception `ArgumentError' at test.rb:1 - too many arguments for format string
test.rb:1:in `%': too many arguments for format string (ArgumentError)
from test.rb:1
Ruby-GetText-Packageでは、言語によってリソースファイルで意図的に%?をなくす場合がある。"There are %d files."を文脈によって"ファイルがあります。"だけにしたい、とか。まぁ、どこまで忠実にオリジナルの文章を再現するのかは翻訳者の好みとか方針とかが絡んでくるけど。
で、そうなると、上記の-dと-dなしの挙動の違いは非常に気持ち悪い。というか-dでも-w相当で動いてくれないと困る。
■ ということで、-dを-w相当にして欲しいなぁ、ということをruby-devに流そうかとも思ったんだけど、rubyのソースコード見たら明らかに意図的にやっているのであきらめることにした。Ruby-GetText-PackageではちょうどString%を拡張しているのでそこでは-dを-w相当にしてしまおう。
■ ・・・Rubyってオリジナルの挙動を変更できちゃうから、いろんな方言ができちゃうねぇ。議論するのが面倒くさいなら実装しちゃうという。これはあまりよくない傾向かも。
#って言いつつruby-devには投げれない自分(苦笑)。

▲ HAL99 [解説ありがとうございます。凄く参考になります。 後は、cookieが複数個登録できないとちょっと厳しいですね(^^ゞ..]