こんにちは、ちょっと訊きたいことがあります。 ruby の man page ですが、オプション -s の例って、ちゃんと印刷されないみ たいなんですけど、これ、うちだけですか? それから、ruby 1.1b6 で rbc.rb が syntax error になりました。 lib/date.rb について、いくつか疑問があります。 おそらく、イギリスにおける改暦に合せてコード化してあるのだと思いますが (というか、UNIX の cal に合せてあるのかもしれませんが)、これはもちろん、 日本を含めてほとんどの国においては意味がないと思います。ライブラリとして は汎用性を欠くことになりますし、いっそ、ユリウス暦とグレゴリオ暦は分けた ほうがスッキリするかなとも思います。 史実に基づこうという方針をとっているはずですが、であれば、西暦 4 年を閏 年とするのは間違いかと思います (UNIX の cal もそうなんですけど)。 1752 年は規則から考えると閏年ですが、平年あつかいになっています。これは どのような解釈なのでしょうか。 name_of_week があるのだから、name_of_month (?) もあってもいいでしょう。 to_s もあっていいように思いました。あと、ユリウス日 (あるいは MJD) などが 得られるようになっているいいですね。 lib/parsedate.rb について提案します。 たとえば、"Jan 29, 1998" などはいいのですが、"Jan 29, 2000" になると、 もうだめですよね。いくつか対応したい書式があるようですが、ISO 8601:1988 あるいは JIS X0301-1992 には対応していませんし、たとえば、RFC 822 式の日 付を与えても、タイムゾーンまでは考えてくれません。GNU date でつかっている getdate.y はかなりうまく推測 (?) してくれますが、これですら完璧にはほど遠 いでしょう。そもそも、なんでも対応できるわけがないと思うので、仕様をもう すこし限定して、もうすこし堅実なものを lib/ に置いてもらったほうが、ユー ザとしてはありがたいかも (僕だけ?)。 リファレンスマニュアルの Time クラスの記述についての疑問です。 asctime ですが、承知のうえでそう書いてるのだと思いますが、date コマンド の書式はただひとつではないです (誤解するひともいないかもしれませんが)。 gmtime ですが、イギリスにはサマータイムがあるので、ロンドンの時刻という のは、UTC (GMT) というわけではないのじゃないかと思います。 strftime の %d の記述ですが、十進数での日という言いかたはちょっと奇妙に 感じます。(ところで、「〜を表す数字」という言いかたをあちこちでつかってお られますが、なんとなく、「ただひとつの数字」であらわされているように感じ ます。そんなふうに感じるのって僕だけ? たとえば、曜日を表す英字と言ったら どうですか?)。 いろいろ細かいことをいいましたが、抛っておくと、わすれそうなので、気が ついたことを書こうと思いました (本音をいえば、少々おかしなところがあって もいいから、もっとマニュアル類を充実してもらえたらいいなと思っていますけ ど)。 time.c を覗いていて気がついたのですが、time_arg() はつぎのようにするつ もりだったのではないかと思います。 --- time.c.orig Fri Jan 16 21:35:48 1998 +++ time.c Thu Jan 29 00:51:16 1998 @@ -201,7 +201,7 @@ } /* value validation */ - if ( args[0] < 70|| args[1] > 137 + if ( args[0] < 70|| args[0] > 137 || args[1] < 0 || args[1] > 11 || args[2] < 1 || args[2] > 31 || args[3] < 0 || args[3] > 23 time_t が 32 ビット符号付き整数だとすれば、2037 年あたりが上限になると いうことですよね。 sample/fib.* について提案します。 ほかはみんな fib(20) の値を印字するのに、Scheme 版だけ印字しないのは悲 しいので、 (display (fib 20)) (newline) としたいです :-) --Tadayoshi Funaba