[#1553] [BUG] String.dup — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

51 messages 1998/03/03
[#1554] Re: [BUG] String.dup — matz@... (Yukihiro Matsumoto) 1998/03/03

まつもと ゆきひろです

[#1564] Re: [BUG] String.dup — keiju@... (石塚圭樹 ) 1998/03/03

けいじゅ@日本ラショナルソフトウェアです.

[#1565] Re: [BUG] String.dup — matz@... (Yukihiro Matsumoto) 1998/03/03

まつもと ゆきひろです

[#1572] Re: [BUG] String.dup — keiju@... (石塚圭樹 ) 1998/03/03

けいじゅ@日本ラショナルソフトウェアです.

[#1578] Re: [BUG] String.dup — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#1580] Re: [BUG] String.dup — shugo@... (Shugo Maeda) 1998/03/04

前田です。

[#1584] Re: [BUG] String.dup — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#1591] Re: [BUG] String.dup — keiju@... (石塚圭樹 ) 1998/03/04

けいじゅ@日本ラショナルソフトウェアです.

[#1593] Re: [BUG] String.dup — matz@... (Yukihiro Matsumoto) 1998/03/05

まつもと ゆきひろです

[#1605] Re: [BUG] String.dup — keiju@... (石塚圭樹 ) 1998/03/07

けいじゅ@日本ラショナルソフトウェアです.

[#1606] Re: [BUG] String.dup — shugo@... (Shugo Maeda) 1998/03/07

前田です。

[#1609] Re: [BUG] String.dup — keiju@... (石塚圭樹 ) 1998/03/08

けいじゅ@日本ラショナルソフトウェアです.

[#1625] Re: [BUG] String.dup — shugo@... (Shugo Maeda) 1998/03/09

前田です。

[#1628] Re: [BUG] String.dup — keiju@... (石塚圭樹 ) 1998/03/09

けいじゅ@日本ラショナルソフトウェアです.

[#1637] Re: [BUG] String.dup — shugo@... (Shugo Maeda) 1998/03/10

前田です。

[#1641] implementation of super_undef (Re: [BUG] String.dup) — matz@... (Yukihiro Matsumoto) 1998/03/10

まつもと ゆきひろです

[#1647] Re: implementation of super_undef (Re: [BUG] String.dup) — shugo@... (Shugo Maeda) 1998/03/10

前田です。

[#1648] Re: implementation of super_undef (Re: [BUG] String.dup) — matz@... (Yukihiro Matsumoto) 1998/03/10

まつもと ゆきひろです

[#1654] Re: implementation of super_undef (Re: [BUG] String.dup) — keiju@... (石塚圭樹 ) 1998/03/10

けいじゅ@日本ラショナルソフトウェアです.

[#1656] Re: implementation of super_undef (Re: [BUG] String.dup) — matz@... (Yukihiro Matsumoto) 1998/03/10

まつもと ゆきひろです

[#1557] IO#putc/Kernel#putc/Kernel#putchar — shugo@... (Shugo Maeda)

前田です。

28 messages 1998/03/03
[#1558] Re: IO#putc/Kernel#putc/Kernel#putchar — matz@... (Yukihiro Matsumoto) 1998/03/03

まつもと ゆきひろです

[#1569] Re: IO#putc/Kernel#putc/Kernel#putchar — shugo@... (Shugo Maeda) 1998/03/03

前田です。

[#1577] Re: IO#putc/Kernel#putc/Kernel#putchar — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#1579] Re: IO#putc/Kernel#putc/Kernel#putchar — shugo@... (Shugo Maeda) 1998/03/04

前田です。

[#1581] Re: IO#putc/Kernel#putc/Kernel#putchar — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#1582] Re: IO#putc/Kernel#putc/Kernel#putchar — shugo@... (Shugo Maeda) 1998/03/04

前田です。

[#1583] Re: IO#putc/Kernel#putc/Kernel#putchar — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#1587] Re: IO#putc/Kernel#putc/Kernel#putchar — shugo@... (Shugo Maeda) 1998/03/04

前田です。

[#1592] Re: IO#putc/Kernel#putc/Kernel#putchar — keiju@... (石塚圭樹 ) 1998/03/05

けいじゅ@日本ラショナルソフトウェアです.

[#1657] Re: [ruby-list:7057] Re: infinity — shugo@... (Shugo Maeda)

前田です。

99 messages 1998/03/10
[#1659] Re: [ruby-list:7057] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/10

けいじゅ@日本ラショナルソフトウェアです.

[#1662] Re: [ruby-list:7057] Re: infinity — matz@... (Yukihiro Matsumoto) 1998/03/11

まつもと ゆきひろです

[#1680] Re: [ruby-list:7057] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/11

けいじゅ@日本ラショナルソフトウェアです.

[#1690] Re: [ruby-list:7057] Re: infinity — Tadayoshi Funaba <tadf@...> 1998/03/11

ふなばです。

[#1692] Re: [ruby-list:7057] Re: infinity — shugo@... (Shugo Maeda) 1998/03/11

前田です。

[#1696] Re: [ruby-list:7057] Re: infinity — Tadayoshi Funaba <tadf@...> 1998/03/11

ふなばです。

[#1698] Re: [ruby-list:7057] Re: infinity — Tadayoshi Funaba <tadf@...> 1998/03/11

ふなばです。

[#1706] argument check in Range::new — shugo@... (Shugo Maeda) 1998/03/11

前田です。

[#1715] Re: argument check in Range::new — matz@... (Yukihiro Matsumoto) 1998/03/12

まつもと ゆきひろです

[#1661] Re: infinity — shugo@... (Shugo Maeda) 1998/03/10

前田です。

[#1665] Re: infinity — Kazuhisa YANAGAWA <katze@...> 1998/03/11

In message <199803101536.PAA01595@soleil.localnet.or.jp>

[#1670] Re: infinity — shugo@... (Shugo Maeda) 1998/03/11

前田です。

[#1699] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/11

けいじゅ@日本ラショナルソフトウェアです.

[#1705] Re: infinity — shugo@... (Shugo Maeda) 1998/03/11

前田です。

[#1714] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/12

けいじゅ@日本ラショナルソフトウェアです.

[#1739] Re: infinity — shugo@... (Shugo Maeda) 1998/03/12

前田です。

[#1750] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/12

けいじゅ@日本ラショナルソフトウェアです.

[#1765] Re: infinity — shugo@... (Shugo Maeda) 1998/03/13

前田です。

[#1766] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/13

けいじゅ@日本ラショナルソフトウェアです.

[#1770] Re: infinity — shugo@... (Shugo Maeda) 1998/03/13

前田です。

[#1774] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/13

けいじゅ@日本ラショナルソフトウェアです.

[#1775] Re: infinity — shugo@... (Shugo Maeda) 1998/03/13

前田です。

[#1777] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/13

けいじゅ@日本ラショナルソフトウェアです.

[#1780] Re: infinity — shugo@... (Shugo Maeda) 1998/03/13

前田です。

[#1781] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/13

けいじゅ@日本ラショナルソフトウェアです.

[#1789] Re: infinity — shugo@... (Shugo Maeda) 1998/03/15

前田です。

[#1792] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/15

けいじゅ@日本ラショナルソフトウェアです.

[#1783] [Req] Comparable#min/max — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

25 messages 1998/03/14
[#1794] Re: [Req] Comparable#min/max — matz@... (Yukihiro Matsumoto) 1998/03/16

まつもと ゆきひろです

[#1798] Re: [Req] Comparable#min/max — keiju@... (石塚圭樹 ) 1998/03/16

けいじゅ@日本ラショナルソフトウェアです.

[#1801] Re: [Req] Comparable#min/max — matz@... (Yukihiro Matsumoto) 1998/03/16

まつもと ゆきひろです

[#1806] Re: [Req] Comparable#min/max — keiju@... (石塚圭樹 ) 1998/03/16

けいじゅ@日本ラショナルソフトウェアです.

[#1808] Re: [Req] Comparable#min/max — matz@... (Yukihiro Matsumoto) 1998/03/16

まつもと ゆきひろです

[#1809] Re: [Req] Comparable#min/max — keiju@... (石塚圭樹 ) 1998/03/16

けいじゅ@日本ラショナルソフトウェアです.

[#1814] Re: [Req] Comparable#min/max — matz@... (Yukihiro Matsumoto) 1998/03/17

まつもと ゆきひろです

[#1791] Re: trap and throw problem — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

24 messages 1998/03/15
[#1796] Re: trap and throw problem — matz@... (Yukihiro Matsumoto) 1998/03/16

まつもと ゆきひろです

[#1799] Re: trap and throw problem — keiju@... (石塚圭樹 ) 1998/03/16

けいじゅ@日本ラショナルソフトウェアです.

[#1800] Re: trap and throw problem — matz@... (Yukihiro Matsumoto) 1998/03/16

まつもと ゆきひろです

[#1807] Re: trap and throw problem — keiju@... (石塚圭樹 ) 1998/03/16

けいじゅ@日本ラショナルソフトウェアです.

[#1823] Re: trap and throw problem — matz@... (Yukihiro Matsumoto) 1998/03/17

まつもと ゆきひろです

[#1839] Re: trap and throw problem — keiju@... (石塚圭樹 ) 1998/03/17

けいじゅ@日本ラショナルソフトウェアです.

[#1840] Re: trap and throw problem — matz@... (Yukihiro Matsumoto) 1998/03/17

まつもと ゆきひろです

[#1859] experimantal release 1.1b9_04 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

30 messages 1998/03/19
[#1912] Re: experimantal release 1.1b9_04 — Tadayoshi Funaba <tadf@...> 1998/03/24

ふなばです。

[#1908] RUBYLIB and default path problem — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

19 messages 1998/03/24
[#1909] Re: RUBYLIB and default path problem — matz@... (Yukihiro Matsumoto) 1998/03/24

まつもと ゆきひろです

[#1916] Re: RUBYLIB and default path problem — keiju@... (石塚圭樹 ) 1998/03/25

けいじゅ@日本ラショナルソフトウェアです.

[#1919] Re: RUBYLIB and default path problem — matz@... (Yukihiro Matsumoto) 1998/03/25

まつもと ゆきひろです

[#1922] Re: RUBYLIB and default path problem — keiju@... (石塚圭樹 ) 1998/03/25

けいじゅ@日本ラショナルソフトウェアです.

[#1923] Re: RUBYLIB and default path problem — matz@... (Yukihiro Matsumoto) 1998/03/25

まつもと ゆきひろです

[#2002] [Req] Binding.new — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

29 messages 1998/03/31
[#2003] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/03/31

まつもと ゆきひろです

[#2004] Re: [Req] Binding.new — keiju@... (石塚圭樹 ) 1998/03/31

けいじゅ@日本ラショナルソフトウェアです.

[#2008] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/02

まつもと ゆきひろです

[#2010] Re: [Req] Binding.new — keiju@... (石塚圭樹 ) 1998/04/02

けいじゅ@日本ラショナルソフトウェアです.

[#2012] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/02

まつもと ゆきひろです

[#2013] Re: [Req] Binding.new — keiju@... (石塚圭樹 ) 1998/04/02

けいじゅ@日本ラショナルソフトウェアです.

[#2014] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/02

まつもと ゆきひろです

[#2015] Re: [Req] Binding.new — keiju@... (石塚圭樹 ) 1998/04/02

けいじゅ@日本ラショナルソフトウェアです.

[#2016] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/02

まつもと ゆきひろです

[#2017] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/02

まつもと ゆきひろです

[#2020] Re: [Req] Binding.new — keiju@... (石塚圭樹 ) 1998/04/02

けいじゅ@日本ラショナルソフトウェアです.

[#2021] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/02

まつもと ゆきひろです

[#2038] Re: [Req] Binding.new — keiju@... (石塚圭樹 ) 1998/04/03

けいじゅ@日本ラショナルソフトウェアです.

[#2039] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/03

まつもと ゆきひろです

[ruby-dev:1606] Re: [BUG] String.dup

From: shugo@... (Shugo Maeda)
Date: 1998-03-07 12:29:10 UTC
List: ruby-dev #1606
前田です。

In message "[ruby-dev:1605] Re: [BUG] String.dup"
石塚圭樹 <keiju@rational.com> wrote:

|何故, newを再定義するとまずいか? といいますと
|
|  class String
|    def String.new
|      super
|    end
|  end
|
|の様にsuperを呼ぶのがまずいんですね.
|
|# finalの様にこのメソッドを再定義することがまずいんではないんです.

そうですね。
僕もsuperを呼べないようにするにはどうすればいいか、というのは
考えたのですが、思いつきませんでした。

|で, 解決案ですが,
|
|  rb_define_singleton_method(cArray, "new", ary_s_new, -1)
|  rb_define_method(cArray, "[]=", ary_aset, -1)
|
|の様にCレベルでメソッドが定義されたら, 
|
|  class Array
|    super_undef new
|    super_undef []=
|  end
|
|の様に Arrayからは上位クラスのnew/[]=がundefされているようにみえるよう
|にすれば, 再定義されても全然問題がなくなります.

undefは

    rb_add_method(the_class, node->nd_mid, 0, NOEX_PUBLIC);

のようにbodyが0になっている要素をそのクラスのメソッドテーブルに
挿入することで実現されているので、スーパークラスのメソッドがundef
されているように見せるのは難しいのではないでしょうか。

そのクラスからのみスーパークラスのメソッドがundefされているように
見せるためには、クラスの中に各スーパークラスに対応したテーブルを
すべて持たせる必要がありますよね。

# ちなみにundefはメソッドを消すわけではなくbodyが0のメソッドを
# 定義するので、undef newした後にfinal :newとすると、newをundef
# した上にnewの再定義ができなくなります。

|で. ここまで来て思ったのですが, undefは上記で出てきたsuper_undefの様な
|定義とそのクラスに定義されているメソッドを消去する機能を合わせ持ってい
|ますね? 2つに分離した方が良いと思います.

undefにはsuper_undefの効果はありませんよね?

rbc0> class << Foo
rbc1> undef new
rbc1> end
nil
rbc0> Foo.new
NameError: undefined method `new' for Foo
rbc0> class << Foo
rbc1> def new; super end
rbc1> end
nil
rbc0> Foo.new
#<Foo:0x400e506c>
rbc0> 

-- 
前田 修吾

In This Thread