[#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:32861] Re: newdate

From: Tanaka Akira <akr@...17n.org>
Date: 2001-12-10 09:11:39 UTC
List: ruby-list #32861
In article <20011210162702A.tadf@funaba.org>,
  tadf@kt.rim.or.jp writes:

> ひとつは、Date との互換性を重視しているからです。時刻があるというだけ
> でも違いますが、時差があると、ずいぶんと性質が違ってきます。

なるほど。

> これは、今気がつきましたが、JIS のほうでは例で "." をつかっていたんで
> すね。ISO 8601:1988 では、例に "," をつかっています。僕としては、あえ
> て "," を選んだというつもりはなかったです。

ふむ。とすると好みの問題になりますね。私は . が好みだということを表明
しておきます。

> > Ruby から nl_langinfo が使えれば locale 依存な挙動も実現できるのに、と
> > か思ったことはありませんか? (私はあります。)
> 
> 僕自身はあまり気にしてません。やること増えるし ;)

たしかに。

> それは節気を考えないといけないので、僕としてはそこまではしません :)

うぅむ。

> > あと、いくつか思ったことを書きます。
> > ざっと読んだだけなのであまり深い話はありません。

私が考え付いた疑問の大部分はすでに考慮されているようで、さすがですね。

> 名前に関しては、文句があるというのは、僕もよくわかるのですが、現 Date
> との互換性を考えると安易に変えられません。

長い名前を alias でつけるぶんにはかまわないんじゃないでしょうか。

... うぅむ。書くのに時間がかかっている間にすでにそういう方向になってま
すね。

> まず、new* のデフォルトは、以前の date2 でないほうの date のデフォルト
> が、起算日になっていたのを引き継いでいます。

なるほど。

> それで、暦週というのは、一応、暦といわれますが、実際は、グレゴリオ暦の
> ちょっと変った表記法といったものだと思うのです。Date において、ユリウ
> ス暦とグレゴリオ暦の両方において、暦週をつかうとわけがわからなくなるの
> で、グレゴリオ暦のみに限定することにして、グレゴリオ暦のつかわれ始めた
> 日をデフォルトにしました。

ふむ。とすると改暦のデフォルトは GREGORIAN にすべき?

> > * julian_leap?, gregorian_leap? ときたら、herschel, greek, spawar も欲
> >   しくなる。(というような奇特な人は私くらいのものかも知れない。)
> > http://www.examsky.com/jglossl.html
> 
> それは要らないでしょう。

まぁ、そうでしょうね。

> === はあえて、日付のみ比較するようにしています。

なるほど。

> > * (同様に等価性に関する疑問として) Date#hash は @rjd.hash ではまずいん
> >   でしょうか?
> 
> それでもいいのかもしれませんが、そうしたほうがいいんでしょうか?

hash はばらけるほうが望ましいわけですが、私ならばらけることの責任をほ
かのコードに押しつけます。まぁ、ばらけなくても速度が落ちる以上の問題は
ないわけですが。

> そもそも、ユリウス暦とグレゴリオ暦しか考えてませんからねえ。

えぇ。奥が深い世界なので、そういう割り切りが必要であり、重要なのだと思
います。

> > * Date#>> は改暦を十分に未来にとると、そのあたりで無限ループをおこせそ
> >   うな気がする。(改暦で一ヶ月以上飛んで、翌月が存在しない場合。)
> 
> それは考えましたが、実際そういう例がないと思うので。

たしかに。

> > * Date#step は step が 0 だと無限ループ?
> 
> それが望まれた振舞いかと :)

そりゃそうか。

> > * DateTime.now は夏時間の境で問題が出るんじゃないでしょうか。
> > 
> >     i = Time.now
> >     a = i.to_a[0..5].reverse
> >     if a[-1] == 60 then a[-1] -= 1 end
> >     d = Time.gm(*a).to_i - Time.local(*a).to_i
> > 
> > Time.local(*a) というのはとり得る値がふたつあることがあるので危険です。
> > i.to_i とするほうがいいと思います。
> 
> えと、i.to_i とする、とはどうことですか?

Time.local(*a).to_i を i.to_i にするということです。

i = Time.now
d = Time.gm(*i.to_a).to_i - i.to_i

年月日時分秒に分解して元に戻すのは round trip するとは限らないので、や
らないに越したことはありません。

なお、そうすると a[-1] をデクリメントすることができなくなりますが、そ
れをしてもあまり正確さはあがらないのであまり問題はないかとおもいます。
なんでかというと、デクリメントによって地方時を閏秒の挿入される前の時刻
にするわけですが、その年月日時分秒を UTC によって解釈した時刻は時差に
よっては閏秒の挿入後の時刻になることもあるわけです。その場合、閏秒の後
の時刻と前の時刻の差を求めることになるので、おそらく求める値とは 1秒ず
れます。

これを防ぐには i と i.dup.utc を Unix Epoch からの秒数ではなく、年月日
時分秒の表現で引き算をするのが正しいやりかただと思います。

が、しかし、そうしたとしても、tzcode では UTC と地方時で閏秒情報が異な
る可能性があり、その場合には求める値が得られません。そこで... time.rb
は邪悪な仮定をおき、Time.utc を使わずに求めています。

あとはどこまで考えるか、という話になりますか。

> 負の場合は、それは日付と同じく、-1 で、23時をあらわすことができる、と
> いう仕様にしたからです。あまり意味がないかもしれませんが。
> 
> 29 というのはわざとです。まず、ISO 8601 で、24時という表現を許している
> こと、25時等の表現も便利かもしれないと思ったからです。でも、どこまで許
> すべきなのかは、僕もよく判りません。なんとなく、29 です。

うぅむ。それは読みとれませんでした。

でも -1 で上位の年月日が変わらないのは奇妙な印象を受けます。
個人的には hour を -1 にした時はやはり前日という感じがします。

> 何桁にすべきかは解りませんが (0桁も含む)、やはり固定のほうがいいと思います。

なるほど。

> > * 意図的かどうかは判断がつかないんですが militaly zone が RFC 822 の間
> >   違いのままになっています。
> 
> これは何のことをいってますか?

RFC 1123 や RFC 2822 で述べられていますが、RFC 822 の 

                 /  1ALPHA                       ; Military: Z = UT;
                                                 ;  A:-1; (J not used)
                                                 ;  M:-12; N:+1; Y:+12

という記述は間違いです。符号がひっくり返ってます。

RFC 1123:
         The military time zones are specified incorrectly in RFC-822:
         they count the wrong way from UT (the signs are reversed).  As
         a result, military time zones in RFC-822 headers carry no
         information.

というわけで date/format.rb の

    'a'   => -1*3600, 'b'   => -2*3600, 'c'   => -3*3600, 'd'   => -4*3600,
    'e'   => -5*3600, 'f'   => -6*3600, 'g'   => -7*3600, 'h'   => -8*3600,
    'i'   => -9*3600, 'k'   =>-10*3600, 'l'   =>-11*3600, 'm'   =>-12*3600,
    'n'   =>  1*3600, 'o'   =>  2*3600, 'p'   =>  3*3600, 'q'   =>  4*3600,
    'r'   =>  5*3600, 's'   =>  6*3600, 't'   =>  7*3600, 'u'   =>  8*3600,
    'v'   =>  9*3600, 'w'   => 10*3600, 'x'   => 11*3600, 'y'   => 12*3600,

というのは RFC 822 の間違った符号のままであることをいっています。

> > * date/format.rb でパターンに不必要な o がついています。
> 
> これは何処だか判らないです。

あぁ、これはパターンの中身じゃなくてオプションです。/^%[EO]?(.)$/o の
とか。べつに間違いではないので、常につけるという主義であるなら問題あり
ません。

> > * strftime の P2, ID, AR, TZ, GL というコメントはなんなんでしょう?
> > 
> > P2 は POSIX 2 で、TZ は tzcode かなぁ、という気もしますが他は想像がつ
> > きません。
> 
> AR は Arnold Robbins の、GL は GNU ライブラリので、ID は、次期標準の草
> 案かなんかにあったやつだったと思います。

なるほど。

> > * strptime で %d, %e はなぜ先頭空白を許すのでしょうか?
> 
> なんだったか、忘れましたが、たした、許したほうが便利だと結論としたと憶
> えています。

ちょっと考えてみたところ、fmt の空白が str の空白を全部消費してしまう
のと関係があるような気がしますね。

> > あと、世紀があって、かつ、4桁の年があると変になりそうです。
> > そういう変な状況において C の strptime がどういう挙動をするのかは知り
> > ませんが...
> 
> それは思いましたが、そこまで考えることもないかと判断しました。

なるほど。

> > * Regexp.new('\\A' + Regexp.quote(c)) というのは持って回った書き方な気
> >   がします。
> 
> どういうのがいいと思いますか?
> 
> > 以前からなんとなく思っていたんですが、Java の String クラスにある
> > startsWith と endsWith 相当のメソッドが Ruby にもあると便利だと思いま
> > すね。
> 
> んー、それがあると Date に便利?

あぁ、つい関係ないことが洩れてしまいました。すいません。

判断だけじゃなくて削除しないといけないからここではパターンでないといけ
ないんですね。ふむ。ここで望まれるのは perl の \Q なのかもしれません。
あるいは終端ではなく先頭を扱う chop! か。
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)

In This Thread