[#22195] IO::for_io and TCPServer#bind — GOTOU Yuuzou <gotoyuzo@...>

test_drb が IPv4 射影アドレスが有効な環境でないと動かないこ

16 messages 2003/12/09
[#22198] Re: IO::for_io and TCPServer#bind — matz@... (Yukihiro Matsumoto) 2003/12/09

まつもと ゆきひろです

[#22205] yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org>

StringIO の

24 messages 2003/12/10
[#22206] Re: yet another inconsistency about EOF between StringIO and IO — nobu.nakada@... 2003/12/10

なかだです。

[#22214] Re: yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org> 2003/12/10

In article <200312100725.hBA7P8Ac011112@sharui.nakada.kanuma.tochigi.jp>,

[#22222] Re: yet another inconsistency about EOF between StringIO and IO — nobu.nakada@... 2003/12/10

なかだです。

[#22234] Re: yet another inconsistency about EOF between StringIO and IO — Masahiro Sakai (酒井政裕) <sakai@...> 2003/12/11

さかいといいます。

[#22262] Re: yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org> 2003/12/13

In article <20031211.214041.71090239.sakai@tom.sfc.keio.ac.jp>,

[#22328] Re: yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org> 2003/12/23

In article <87k751dzyf.fsf@serein.a02.aist.go.jp>,

[#22331] Re: yet another inconsistency about EOF between StringIO and IO — matz@... (Yukihiro Matsumoto) 2003/12/23

まつもと ゆきひろです

[#22334] Re: yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org> 2003/12/23

In article <1072167374.096702.13473.nullmailer@picachu.netlab.jp>,

[#22343] Re: yet another inconsistency about EOF between StringIO and IO — matz@... (Yukihiro Matsumoto) 2003/12/23

まつもと ゆきひろです

[#22330] core dump with ungetc — Tanaka Akira <akr@...17n.org>

次のように ungetc を使うと core を吐く場合があります。

14 messages 2003/12/23
[#22332] Re: core dump with ungetc — nobu.nakada@... 2003/12/23

なかだです。

[#22366] `to_s': method `to_s' overridden (TypeError) — Tanaka Akira <akr@...17n.org>

そういえば、次の `to_s': method `to_s' overridden (TypeError) というの

12 messages 2003/12/24

[#22385] Tk.callback_break causes seg-fault or hang-up — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

19 messages 2003/12/24
[#22387] Re: Tk.callback_break causes seg-fault or hang-up — matz@... (Yukihiro Matsumoto) 2003/12/24

まつもと ゆきひろです

[#22393] Re: Tk.callback_break causes seg-fault or hang-up — Hidetoshi NAGAI <nagai@...> 2003/12/24

永井@知能.九工大です.

[#22395] Re: Tk.callback_break causes seg-fault or hang-up — matz@... (Yukihiro Matsumoto) 2003/12/24

まつもと ゆきひろです

[#22396] Re: Tk.callback_break causes seg-fault or hang-up — matz@... (Yukihiro Matsumoto) 2003/12/24

まつもと ゆきひろです

[#22397] Re: Tk.callback_break causes seg-fault or hang-up — Hidetoshi NAGAI <nagai@...> 2003/12/24

永井@知能.九工大です.

[#22418] ruby-1.8.1 build failed on HP-UX 11.11 — MIYAMUKO Katsuyuki <k-miyamuko@...>

みやむこです。

29 messages 2003/12/25
[#22419] Re: ruby-1.8.1 build failed on HP-UX 11.11 — matz@... (Yukihiro Matsumoto) 2003/12/25

まつもと ゆきひろです

[#22420] Re: ruby-1.8.1 build failed on HP-UX 11.11 — matz@... (Yukihiro Matsumoto) 2003/12/25

まつもと ゆきひろです

[#22424] Re: ruby-1.8.1 build failed on HP-UX 11.11 — MIYAMUKO Katsuyuki <k-miyamuko@...> 2003/12/25

みやむこです。

[#22491] Re: ruby-1.8.1 build failed on HP-UX 11.11 — MIYAMUKO Katsuyuki <k-miyamuko@...> 2004/01/05

みやむこです。

[ruby-dev:22176] Re: URI.regexp

From: Minero Aoki <aamine@...>
Date: 2003-12-07 00:48:42 UTC
List: ruby-dev #22176
青木です。

  In mail "[ruby-dev:22159] Re: URI.regexp"
    akira yamada / やまだあきら <akira@ruby-lang.org> wrote:

> > 「URIっぽい文字列にマッチする正規表現」を返す機能が URI に
> > 欲しいのですが、どうでしょうか。現在でも URI.extract で

> 便利そうですね。私としては反対はありません。

んでは、コミットしちゃっていいですか?


> > [考えられる問題点]
> …
> >   * 括弧の数で (ユーザが) はまるかもしれない
> 
> たしかに。ドキュメントでカバー……と言いたいところなのですが
> 今のところドキュメントがないに等しい状況ですね。

添付のような感じでどうでしょう。

入るのなら日本語のほうも足しときます。
-------------------------------------------------------------------
青木峰郎

Index: lib/uri/common.rb
===================================================================
RCS file: /src/ruby/lib/uri/common.rb,v
retrieving revision 1.10
diff -u -p -r1.10 common.rb
--- lib/uri/common.rb	29 Mar 2003 06:39:50 -0000	1.10
+++ lib/uri/common.rb	7 Dec 2003 00:47:34 -0000
@@ -396,28 +396,46 @@ module URI
 --- URI::extract(str[, schemes])
 
 =end
-  def self.extract(str, schemes = [])
-    urls = []
-    regexp = ABS_URI_REF
-    unless schemes.empty?
-      regexp = Regexp.new('(?=' + schemes.collect{|s| 
-			    Regexp.quote(s + ':')
-			  }.join('|') + ')' + PATTERN::X_ABS_URI, 
-			  Regexp::EXTENDED, 'N')
+  def self.extract(str, schemes = nil, &block)
+    if block_given?
+      str.scan(regexp(schemes)) { yield $& }
+      nil
+    else
+      result = []
+      str.scan(regexp(schemes)) { result.push $& }
+      result
     end
+  end
+
+=begin
+
+--- URI::regexp([match_schemes])
+
+    Returns a Regexp object which matches to URI-like strings.
+    If MATCH_SCHEMES given, resulting regexp matches to URIs
+    whose scheme is one of the MATCH_SCHEMES.
 
-    str.scan(regexp) {
-      if block_given?
-	yield($&)
-      else
-	urls << $&
+    The Regexp object returned by this method includes arbitrary
+    number of capture group (parentheses).  Never rely on its
+    number.
+
+      # extract first URI from html_string
+      html_string.slice(URI.regexp)
+
+      # remove ftp URIs
+      html_string.sub(URI.regexp(['ftp'])
+
+      # You should not rely on the number of parentheses
+      html_string.scan(URI.regexp) do |*matches|
+        p $&
       end
-    }
 
-    if block_given?
-      return nil
+=end
+  def self.regexp(schemes = nil)
+    unless schemes
+      ABS_URI_REF
     else
-      return urls
+      /(?=#{Regexp.union(*schemes)}:)#{PATTERN::X_ABS_URI}/xn
     end
   end
 

In This Thread