[#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:1609] Re: [BUG] String.dup

From: keiju@... (石塚圭樹 )
Date: 1998-03-08 14:47:51 UTC
List: ruby-dev #1609
けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev :01606 ] the message: "[ruby-dev:1606] Re: [BUG]
String.dup ", on Mar/07 21:29(JST) Shugo Maeda writes:

>前田です。

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

私はsuperが本質的な問題になっていると気づくまでだいぶかかってしまいま
した. 構造の互換性をチェックする方法に目がいっていたもので(^^;;;

>undefは
>
>    rb_add_method(the_class, node->nd_mid, 0, NOEX_PUBLIC);
>
>のようにbodyが0になっている要素をそのクラスのメソッドテーブルに
>挿入することで実現されているので、

なるほどそうなっていたんですね...

>スーパークラスのメソッドがundefされているように見せるのは難しいのでは
>ないでしょうか。

一応実装案を幾つか考えてみました.

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

テーブルというか, super_undefされたメソッドのハッシュ表が必要になりま
すね(案1)

(案2) メソッドそのものの属性として super_undefされているかどうかの状態
      を持たせる. 

(案3) 仮想的なモジュールをinclude(クラスメソッドならextend)して, そこ
      でメソッドをundefする.  

この方法は今でも確かめることができます.

rbc0> module SUPER
rbc1>   def new
rbc2>     print "super"
rbc2>   end
rbc1> end
nil
rbc0> module StringPrimitive
rbc1>   include SUPER
rbc1>   undef new
rbc1> end
nil
rbc0> String.extend StringPrimitive
String
rbc0> def String.new
rbc1>   super
rbc1> end
nil
rbc0> String.new
NameError: undefined method `new' for String

こんなかんじですね. 

この方法は上記を見れば比較的簡単に実現できますが, すべてのPrimitiveク
ラスが仮想的なモジュールを持つことになるのがちょっとって気がしますね.

(案4) クラスのViewを導入する. super_undefはそのクラスから上位のクラス
      がどのように見えるメソッドを変更する手段です. クラスのviewを導入
      して, 下位のクラスからはviewを通して見えるようにすれば良いかなと
      思います. 

(案4)のviewは, 松本君が大学時代やっていた研究課題でしたよね? ですので, 
rubyに導入するのも悪くないかなと(^^;;; ただ, だいぶ追加機能が発生しま
すが...

私としては(案2)か(案4)が良いのではと思っています.

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

効果はないのですが, 元々の用途は上位クラスで定義されているメソッドを見
えなくするための機能なので, undefをsuper_undefと再定義しても全然問題な
いと思うのですが?

# メソッドを消去するのはModule#remove_methodでした.

__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju@rational.com <<---

In This Thread