From: TAKAHASHI Masayoshi Date: 2001-02-14T22:58:25+09:00 Subject: [ruby-list:27834] Re: ParseDate.to_time 高橋征義です。 Tadayoshi Funaba さん: > maki> (3)は例外かnilかが問題、というところでしょうか。私は例外ではなく > maki> nilの方が扱いやすいと思うんですが……。 > maki> 例えば、dataというHashにいろいろな文字列があるとして、 > (中略) > maki> みたいな使い方をするとして、いきなり例外があがっては困る場合が > maki> 多そうな気がします。どうなんでしょう。 > > Time.parse であるとして、mktime で例外になるものは例外で構わないような > 気がします。 # ええっと、話は逸れますが、mktimeって、例えば # Time.mktime("takahashi") # みたいなのすら例外にならないんですけど、それでいいんで # しょうかね? > あと、Time.parse は new の変種と思いますが、new が nil を > 返すというのは、個人的にどうもしっくりこないのですが、どうでしょう。 私の気分としては、newというよりは、Timeを生成するユーティリティ メソッド、という感覚なのでした。 で、実際のところ、例外にするとしたらどう使うことになるんでしょうか。 Time.parse? みたいなメソッドを加えます? それとも、 begin t = Time.parse(str) rescue t = Default_Time # または無視する、とか。 end とかする感じでしょうか? > strptime.rb (a) ではつぎ略名をあつかいます (本当はちょっとちがう)。 (略) > getdate.y (b) では、上記に加え、つぎのものをあつかうようです。 > > 'utc' 'wet' 'bst' 'wat' > 'at' 'ast' 'adt' 'yst' > 'ydt' 'hst' 'hdt' 'cat' > 'ahst' 'nt' 'idlw' 'cet' > 'met' 'mewt' 'mest' 'mesz' > 'swt' 'sst' 'fwt' 'fst' > 'eet' 'bt' 'zp4' 'zp5' > 'zp6' 'wast' 'wadt' 'cct' > 'jst' 'east' 'eadt' 'gst' > 'nzt' 'nzst' 'nzdt' 'idle なるほど。って、getdateのみの表記は用例が思いつかない……。 > 必須用件からすれば、(a) だけでいい > はずです。でも、それだと JST がないなど、文句をいう人はいるでしょうね。 > あえて、JST をエラーとしてはじいて欲いといった用件がなければ、入れても > 構わないのかも。 そうですね。JSTは欲しいです。 > あと、両方とも ISO 8601 の +0900 のような時差をあつかいますが、(b) は > +09 や+09:00 といったものはあつかえないようです。 これが実際にどういう場面で使われている表記か、ご存知でしょうか? 高橋征義 (TAKAHASHI Masayoshi) Email:maki@inac.co.jp