[#17017] 標準添付案 — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

21 messages 2002/05/08
[#17019] Re: 標準添付案 — "Akinori MUSHA" <knu@...> 2002/05/08

At Wed, 8 May 2002 19:50:17 +0900,

[#17021] Re: 標準添付案 — GOTO Kentaro <gotoken@...> 2002/05/08

At Wed, 8 May 2002 22:45:06 +0900,

[#17031] double acosh — WATANABE Hirofumi <eban@...>

わたなべです。

25 messages 2002/05/10
[#17032] Re: double acosh — nobu.nakada@... 2002/05/10

なかだです。

[#17033] Re: double acosh — WATANABE Hirofumi <eban@...> 2002/05/10

わたなべです。

[#17036] Re: double acosh — matz@... (Yukihiro Matsumoto) 2002/05/10

まつもと ゆきひろです

[#17039] Re: double acosh — WATANABE Hirofumi <eban@...> 2002/05/10

わたなべです。

[#17134] argv[0] — Tanaka Akira <akr@...17n.org>

ふと ruby インタプリタの C における argv[0] を知りたくなったんですが、

23 messages 2002/05/18
[#17139] Re: argv[0] — matz@... (Yukihiro Matsumoto) 2002/05/18

まつもと ゆきひろです

[#17144] Re: msvcrt — "U.Nakamura" <usa@...>

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

18 messages 2002/05/19

[#17179] コマンドラインオプションの順序制約 — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

13 messages 2002/05/22
[#17181] Re: コマンドラインオプションの順序制約 — matz@... (Yukihiro Matsumoto) 2002/05/22

まつもと ゆきひろです

[#17228] Re: [ruby-list:35305] Re: ((1.2)..(3.4)).to_a — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

28 messages 2002/05/30

[ruby-dev:17171] parsedate

From: Tadayoshi Funaba <tadf@...>
Date: 2002-05-21 11:36:13 UTC
List: ruby-dev #17171
ふなばです。

1.6 の lib/parsedate.rb を date2 2.x の最新のものにしたいんですが、ど
うでしょう。

一番重要な変更点は、'01:02:03 P.M. AMT' のようなパターンで、タイムゾー
ンを拾いそこねるバグを潰したことです (P.M. でなく、PM などは大丈夫)。
その他、若干の改良 (?) を含みます。


--- parsedate3.rb	2001-01-18 12:09:47+09	1.3
+++ parsedate3.rb	2002-05-16 20:03:28+09
@@ -1,3 +1,3 @@
-# parsedate3.rb: Written by Tadayoshi Funaba 2000, 2001
-# $Id: parsedate3.rb,v 1.3 2001-01-18 12:09:47+09 tadf Exp $
+# parsedate3.rb: Written by Tadayoshi Funaba 2000-2002
+# $Id: parsedate3.rb,v 1.6 2002-05-16 20:03:28+09 tadf Exp $
 
@@ -21,2 +21,4 @@
 
+    date.gsub!(/[^-+.\/:0-9a-z]+/ino, ' ')
+
     # day
@@ -31,4 +33,3 @@
 		    \s*
-		    ([ap])\.?m\.?
-		    \b
+		    ([ap])(?:m\b|\.m\.)
 		  )?
@@ -37,3 +38,3 @@
 		    (
-		      [a-z]+(?:\s+dst)?
+		      [a-z]+(?:\s+dst)?\b
 		    |
@@ -41,3 +42,2 @@
 		    )
-		    \b
 		  )?
@@ -64,3 +64,3 @@
 		    \s+
-		    (\d+)
+		    (-?\d+)
 		  )?
@@ -79,3 +79,3 @@
 		       \s+
-		       (\d+)
+		       (-?\d+)
 		     )?
@@ -88,3 +88,3 @@
     # iso
-    elsif date.sub!(/(\d+)-(\d+)-(\d+)/no, ' ')
+    elsif date.sub!(/([-+]?\d+)-(\d+)-(-?\d+)/no, ' ')
       year = $1.to_i
@@ -104,3 +104,3 @@
     # vms
-    elsif date.sub!(/(\d+)-(#{MONTHPAT})\S*-(\d+)/ino, ' ')
+    elsif date.sub!(/(-?\d+)-(#{MONTHPAT})[^-]*-(-?\d+)/ino, ' ')
       mday = $1.to_i
@@ -111,3 +111,3 @@
     # sla
-    elsif date.sub!(%r|(\d+)/(\d+)(?:/(\d+))?|no, ' ')
+    elsif date.sub!(%r|(-?\d+)/(\d+)(?:/(-?\d+))?|no, ' ')
       mon = $1.to_i
@@ -119,3 +119,3 @@
     elsif date.sub!(
-		    /(\d{4,14})
+		    /([-+]?)(\d{4,14})
 		     (?:
@@ -137,27 +137,27 @@
 		    ' ')
-      case $1.size
+      case $2.size
       when 4
-	mon  = $1[ 0, 2].to_i
-	mday = $1[ 2, 2].to_i
+	mon  = $2[ 0, 2].to_i
+	mday = $2[ 2, 2].to_i
       when 6
-	year = $1[ 0, 2].to_i
-	mon  = $1[ 2, 2].to_i
-	mday = $1[ 4, 2].to_i
+	year = ($1 + $2[ 0, 2]).to_i
+	mon  = $2[ 2, 2].to_i
+	mday = $2[ 4, 2].to_i
       when 8, 10, 12, 14
-	year = $1[ 0, 4].to_i
-	mon  = $1[ 4, 2].to_i
-	mday = $1[ 6, 2].to_i
-	hour = $1[ 8, 2].to_i if $1.size >= 10
-	min  = $1[10, 2].to_i if $1.size >= 12
-	sec  = $1[12, 2].to_i if $1.size >= 14
+	year = ($1 + $2[ 0, 4]).to_i
+	mon  = $2[ 4, 2].to_i
+	mday = $2[ 6, 2].to_i
+	hour = $2[ 8, 2].to_i if $2.size >= 10
+	min  = $2[10, 2].to_i if $2.size >= 12
+	sec  = $2[12, 2].to_i if $2.size >= 14
       end
-      if $2
-	case $2.size
+      if $3
+	case $3.size
 	when 2, 4, 6
-	  hour = $2[ 0, 2].to_i
-	  min  = $2[ 2, 2].to_i if $2.size >= 4
-	  sec  = $2[ 4, 2].to_i if $2.size >= 6
+	  hour = $3[ 0, 2].to_i
+	  min  = $3[ 2, 2].to_i if $3.size >= 4
+	  sec  = $3[ 4, 2].to_i if $3.size >= 6
 	end
       end
-      zone = $3
+      zone = $4
     end
@@ -165,3 +165,3 @@
     if cyear and year
-      if year < 100
+      if year >= 0 and year <= 99
 	if year >= 69

In This Thread

Prev Next