[#19457] equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org>

ふと気がついたのですが、

39 messages 2003/02/02
[#19460] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/03

まつもと ゆきひろです

[#19473] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

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

[#19474] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19475] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

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

[#19476] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19477] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

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

[#19478] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19479] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

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

[#19482] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19486] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

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

[#19491] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19493] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19556] compare between String and Exception — Tanaka Akira <akr@...17n.org> 2003/02/12

さらに気が付いたのですが、

[#19514] [Oniguruma] Version 1.7.1 — "K.Kosako" <kosako@...>

ftp.ruby-lang.orgに、onigd20030207.tar.gzを置きました。

19 messages 2003/02/07

[#19548] [PATCH] file.c for (PR#389) and (PR#390) — nobu.nakada@...

なかだです。

20 messages 2003/02/11
[#19572] Re: [PATCH] file.c for (PR#389) and (PR#390) — pegacorn@... 2003/02/14

From: nobu.nakada@nifty.ne.jp

[#19648] Re: SEGV at search_method in eval.c (PR#400) — nobu.nakada@...

なかだです。

13 messages 2003/02/24

[ruby-dev:19451] Re: shim/ruby16 patch

From: Kazuhiro NISHIYAMA <zn@...>
Date: 2003-02-01 11:53:27 UTC
List: ruby-dev #19451
西山和広です。

In <86n0lhf7az.wl@archon.local.idaemons.org>
On Sat, 1 Feb 2003 04:28:04 +0900
"Akinori MUSHA" <knu@iDaemons.org> wrote:
> > * make test16でFが出たのを修正。
> 
>  これは make test18 の方かな。Proc#yield() の調整絡みですね。

test18にあわせてなおした後、test16が通るように修正したという
ことでした。


> > * Regexp#eql?, Regexp#hash
> 
>  動作を変えてしまいますが、取り込みました。ハッシュのキーに
> 正規表現を使うことはあまりなさそうだし、同じ正規表現同士なら
> eql? が成立しても文句は言えないと思うので。

ちゃんと対応してみました。

Index: lib/features/ruby18/regexp.rb
===================================================================
RCS file: /src/shim/ruby16/lib/features/ruby18/regexp.rb,v
retrieving revision 1.5
diff -u -p -r1.5 regexp.rb
--- lib/features/ruby18/regexp.rb	31 Jan 2003 19:17:54 -0000	1.5
+++ lib/features/ruby18/regexp.rb	1 Feb 2003 11:45:34 -0000
@@ -4,7 +4,9 @@ require 'features/ruby18/base'
 
 class Regexp
   def eql?(o)
-    o.is_a?(Regexp) && source.eql?(o.source)
+    o.is_a?(Regexp) && source.eql?(o.source) &&
+      options.eql?(o.options) &&
+      (kcode || $KCODE.downcase).eql?(o.kcode || $KCODE.downcase)
   end
 
   def hash
Index: tests/features/ruby18/tc_regexp.rb
===================================================================
RCS file: /src/shim/ruby16/tests/features/ruby18/tc_regexp.rb,v
retrieving revision 1.5
diff -u -p -r1.5 tc_regexp.rb
--- tests/features/ruby18/tc_regexp.rb	31 Jan 2003 19:17:54 -0000	1.5
+++ tests/features/ruby18/tc_regexp.rb	1 Feb 2003 11:45:34 -0000
@@ -8,6 +8,14 @@ rescue LoadError; end
 class TC_Regexp < Test::Unit::TestCase
   def test_eql?
     assert(/a/.eql?(/a/))
+    assert(!/a/.eql?(/a/i))
+    assert(!/a/i.eql?(/a/))
+    assert(/a/i.eql?(/a/i))
+    assert(/a/n.eql?(/a/n))
+    assert(!/a/n.eql?(/a/u))
+    assert(!/a/u.eql?(/a/n))
+    assert(/a/u.eql?(/a/u))
+    assert(Regexp.new('a', nil, $KCODE).eql?(/a/))
   end
 
   def test_hash


-- 
|ZnZ(ゼット エヌ ゼット)
|西山和広(Kazuhiro NISHIYAMA)


In This Thread

Prev Next