[#32727] require "./xxx" の「カレントディレクトリ」の意味 — Take_tk <ggb03124@...>

あるディレクトリαにあるスクリプトAに「require "./xxx"」と書いてあると、

21 messages 2001/12/03
[#32733] Re: require "./xxx" の「カレントディレクトリ」の意味 — matz@... (Yukihiro Matsumoto) 2001/12/03

まつもと ゆきひろです

[#32746] Re: require "./xxx" の「カレントディレクトリ」の意味 — Tanaka Akira <akr@...17n.org> 2001/12/04

In article <1007384829.854960.10474.nullmailer@ev.netlab.jp>,

[#32749] Re: require "./xxx" の「カレントディレクトリ」の意味 — Take_tk <ggb03124@...> 2001/12/04

たけ(tk)です。

[#32772] newdate — tadf@...

ふなばです。

108 messages 2001/12/04
[#32850] Re: newdate — Tanaka Akira <akr@...17n.org> 2001/12/10

In article <20011204234521G.tadf@kt.rim.or.jp>,

[#32855] Re: newdate — tadf@... 2001/12/10

ふなばです。

[#32859] Re: newdate — matz@... (Yukihiro Matsumoto) 2001/12/10

まつもと ゆきひろです

[#32860] Re: newdate — tadf@... 2001/12/10

ふなばです。

[#32889] Re: newdate — Tanaka Akira <akr@...17n.org> 2001/12/12

In article <20011210180612F.tadf@funaba.org>,

[#34281] Re: newdate — tadf@... 2002/03/10

ふなばです。

[#33661] when.exe の Ruby 化 (Re: newdate) — Takashi SUGA <suchowan@...> 2002/01/29

すいません。件名が変だったので、再送します。コメントをくださる方は、

[#32797] dir_config (mkmf.rb) のオプション指定の優先順位 — tamra@...

12 messages 2001/12/05
[#32798] Re: dir_config (mkmf.rb) のオプション指定の優先順位 — nobu.nakada@... 2001/12/06

なかだです。

[#32807] irb 0.8 release — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

21 messages 2001/12/07
[#32808] Re: irb 0.8 release — rubikitch <rubikitch@...> 2001/12/07

From: keiju@rational.com (Keiju ISHITSUKA)

[#32935] Ruby256 倍本 " 界道編 " — shukaku@...

23 messages 2001/12/15
[#32963] Re: Ruby256 倍本 " 界道編 " — Shin-ichiro HARA <sinara@...> 2001/12/19

原です。

[#33014] "Walrus" on LinuxJapan — Taku Nakajima <tnakajima@...>

中島@ブレーンです。

13 messages 2001/12/24

[#33050] cgi.rb で cookie の encoding について — Beyond <beyond@...>

74 messages 2001/12/28
[#33054] Re: cgi.rb で cookie の encoding について — "U.Nakamura" <usa@...> 2001/12/28

こんにちは、なかむら(う)です。

[#33057] Re: cgi.rb で cookie の encoding について — Beyond <beyond@...> 2001/12/28

[#33059] Re: cgi.rb で cookie の encoding について — nobu.nakada@... 2001/12/28

なかだです。

[#33060] Re: cgi.rb で cookie の encoding について — Beyond <beyond@...> 2001/12/28

[#33063] Re: cgi.rb で cookie の encoding について — nobu.nakada@... 2001/12/28

なかだです。

[#33065] Re: cgi.rb で cookie の encoding について — Beyond <beyond@...> 2001/12/28

[#33062] Re: cgi.rb で cookie の encoding について — Wakou Aoyama <wakou@...> 2001/12/28

青山です。

[#33075] Re: cgi.rb で cookie の encoding について — Takahiro Kambe <taca@...> 2001/12/28

In message <20011228054515.726.qmail@localhost>

[#33078] Re: cgi.rb で cookie の encoding について — Beyond <beyond@...> 2001/12/28

[#33083] Re: cgi.rb で cookie の encoding について — Wakou Aoyama <wakou@...> 2001/12/28

青山です。

[#33090] Re: cgi.rb で cookie の encoding について — Beyond <beyond@...> 2001/12/28

[#33105] Re: cgi.rb で cookie の encoding について — Wakou Aoyama <wakou@...> 2001/12/29

青山です。

[#33120] Re: cgi.rb で cookie の encoding について — Tanaka Akira <akr@...17n.org> 2001/12/30

In article <20011229013722.1869.qmail@localhost>,

[#33124] Re: cgi.rb で cookie の encoding について — Wakou Aoyama <wakou@...> 2001/12/30

青山です。

[#33131] Re: cgi.rb で cookie の encoding について — Beyond <beyond@...> 2001/12/31

[ruby-list:32884] Re: newdate

From: Tanaka Akira <akr@...17n.org>
Date: 2001-12-12 03:08:50 UTC
List: ruby-list #32884
In article <20011212093832C.tadf@funaba.org>,
  tadf@kt.rim.or.jp writes:

> time.rb の仮定って、閏秒の挿入による差が60未満というものですか? 

はい。そうです。

> 協定
> 世界時と地方時で閏秒の情報が異なるというのはあると思いますが、そういう
> 運用は間違いなんじゃないかと思うんで、気にしなくてもいいような気がする
> んですが、どうなんでしょう。

* 手元の OS (FreeBSD) で正しい運用をするには root 権限が必要で、実験す
  るのが面倒。

* どうせ邪悪さが顕現するのはすくなくとも数十年後。
  また、邪悪さを増大させ、30分未満などとすれば顕現を遅らすことも容易。

* API には邪悪さは現れていないので、あとから改心しても中身だけ入れ換え
  れば済む。

* 私は PoMS で生きているらしい。(PoLS ではない。)

* この件について意見を述べてくれる人がいなかった。

というような理由により邪悪な実装をとりました。

が、最後の理由についてはめでたく解消されたのでもう少し考えてみましょう...
思いつきました。

tzcode では struct tm に tm_gmtoff フィールドがあるので、これを参照す
れば邪悪でなく時差を取得できます。また、私の知っている限りにおいて、
tzcode 以外では

class Time
  def utcoff
    t = dup.localtime
    l = t.to_a[0,6].reverse
    u = t.utc.to_a[0,6].reverse
    l.pop-u.pop + 60 * (l.pop-u.pop + 60 * (l.pop-u.pop + 24 * (l<=>u)))
  end
end

というようなコードで正しく時差を取得できます。時差が 24時間未満であれば。

# そーいや改暦が(負の) time_t で届く範囲で起きたところがあったはずだな。
# あとで調べてみよう。

というわけで、C でメソッドを実装して、tm_gmtoff があればそれを、そうで
なければ上記のようにして結果を求めれば邪悪さを発揮せずに常に正しい結果
が得られるはずです。

うぅむ。実装するには、まず(configure.in をいじるために) m4 を思い出さな
いといけないなぁ。

> Date と DateTime の違いとして、Date では、時刻や時差はないということに
> なっていますが、実際は、協定世界時における正午として表現されています。
> 理由はユリウス日をつかっているから、そのほうが自然だからです。Date 単
> 体ではなんの問題もないんですが、DateTime がでてくると、ちょっと問題で
> す。
> 
> Date.new(2001,12,12) は、実際は、2001-12-12T12:00:00Z と正午になります
> が、DateTime.new(2001,12,12) としたとき、これを同様に 
> 2001-12-12T12:00:00Z と正午にするのは抵抗があります。かといって、Date 
> では正午、DateTime は深夜零時、とするのも判り難いし、
> 
> Date.new(2001,12,12) > DateTime.new(2001,12,12)
> 
> となるのでよくないですよね。この点は互換性のために整合性を犠牲にしよう
> と思っていたのですが、やはり気になります。現時点では、少しばかり互換性
> を犠牲にして、Date のほうを深夜零時として表現する考えに傾いています。
> 
> 具体的に、何処が変るかというと、まず、Date のインスタンス変数 @rjd の
> 値が、正午のものから深夜零時のものになります。それから、exist*? の返り
> 値も、DateTime のほうに合せることになるでしょう。
> 
> @rjd の値が変るのは、あまり重要でないし、exist*? の返り値を変更するこ
> とも、それほど深刻な問題ではないので、そのように変更してしまおうかと思っ
> ていますが、どうでしょうか。

えぇと、まず質問ですが、rjd ってなんの略でしょう?
jd は julian date なんだろうと思いますが、r は?

まず、私は内部表現をユリウス日 - グリニジ平均天文時における紀元-4712年
1月1日0時0分0秒からの日数 - から変えるべきではない、と思います。

# いまひとつ読みきれていないんですが、もし内部表現が上記の定義における
# ユリウス日だったとすれば、の話です。もしそうでないならそうする方がい
# いと思います。

しょせん内部表現なのでたしかにユーザにとってはあまり重要ではありません。
が、よく使われる定義の値を扱った方が実装・保守がなにかとやりやすいんじゃ
ないでしょうか。この場合実装者はふなばさんなので、そんなのは大きなお世
話かも知れませんが。

さて、話は変わってユーザから見た場合の問題ですが、これは DateTime が
Date を継承している、つまり DateTime is Date という構造がいけないんじゃ
ないかと思います。Date というのは一日を指し示すものであり、また
DateTime はもっと細かく一点の時刻を指し示すものとすれば、is-a 関係では
ないと思います。なまじ Date が内部的に時分秒を保持しているから変なこと
を考えてしまうんじゃないでしょうか。

まぁ、実装としては Date が内部で DateTime を使うというのが楽だと思いま
すが、これはあくまでも実装の話で、時差無し、正午、という条件で利用し、
外部からは時差や時分秒は観測できないようにするのがいいと思います。

もし、Date と DateTime が継承関係になく別物だとすれば、

  Date.new(2001,12,12) が 2001-12-12T12:00:00Z となる
  => それが自然なのでそうする。別にそうしなくてもよく、いずれにしても
     時分秒は外からは見えない。

  DateTime.new(2001,12,12) が 2001-12-12T12:00:00Z になる。
  => Date の流儀に合わせる理由はないのでそうはしない。

  Date では正午、DateTime は深夜零時、とするのも判り難い
  => 別物なので気にしない。また Date の正午は外から見えないので混乱は
     起きない。

  Date.new(2001,12,12) > DateTime.new(2001,12,12)
  => 比較してはならない。あるいは Date を DateTime に変換可能とする場
     合には、Date の年月日と0時0分0秒から DateTime を構成する。

というふうにできます。結局のところ、ユーザから見える結果は同じだと思う
んですが、私ならこんなふうに考える、ということで。

あと、気がついたんですが、紀元前の年の扱いは天文学的な規約によってるん
ですね。とすると、XML Schema の dateTime としてはまずいなぁ。
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)

In This Thread