[#21157] あったらうれしいメソッド to_n, to_n!, to_s! — ogino@...

荻野です。あったらうれしいメソッドということで書いてみます。

16 messages 2000/03/03

[#21159] メソッドの入り口 — ogino@...

荻野です。もうひとつご指導ください。

93 messages 2000/03/03
[#21170] Re: メソッドの入り口 — Shin-ichiro Hara <sinara@...> 2000/03/03

原です。

[#21243] Re: メソッドの入り口 — keiju@... (石塚圭樹) 2000/03/07

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

[#21247] Re: メソッドの入り口 — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/03/07

[#21267] 引数コピーとオブジェクト指向 (Re: メソッドの入り口) — Hideto ISHIBASHI <s34204@...> 2000/03/08

石橋秀仁です。

[#21272] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/03/08

[#21276] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — nobu.nakada@... 2000/03/09

なかだです。

[#21279] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — ogino@... 2000/03/09

oop未満の世界観の荻野です。

[#21282] Re: 引数コピーとオブジェクト指向 — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp> 2000/03/09

越水です。

[#21285] Re: 引数コピーとオブジェクト指向 — ogino@... 2000/03/10

荻野です。

[#21365] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/13

松尾です。

[#21293] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/10

松尾です。

[#21297] Re: 引数コピーとオブジェクト指向 — ogino@... 2000/03/10

荻野です。

[#21302] Re: 引数コピーとオブジェクト指向 — 土岐 仁謙 <toki@...> 2000/03/10

土岐です。

[#21371] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/13

松尾です。

[#21374] Re: 引数コピーとオブジェクト指向 — TADA Tadashi <sho@...> 2000/03/13

ただただしです。

[#21280] raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp>

24 messages 2000/03/09
[#21283] Re: raise non-Exception object — nobu.nakada@... 2000/03/09

なかだです。

[#21315] Re: raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp> 2000/03/11

[#21342] Re: raise non-Exception object — nobu.nakada@... 2000/03/12

なかだです。

[#21384] ruby 1.4.4 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

35 messages 2000/03/13

[#21442] 配列内のソート — Takayuki Tanaka <tanaka@...>

こんにちは Tanです。

16 messages 2000/03/15

[#21583] ruby for Web — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

27 messages 2000/03/22
[#21584] Re: ruby for Web — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/03/22

なひです.

[#21649] net-1.1.10 — TAKAHASHI Masayoshi <maki@...>

高橋征義です。net/http 使いたおし中。

17 messages 2000/03/27

[#21669] new version of mod_ruby & eRuby — Shugo Maeda <shugo@...>

前田です。

14 messages 2000/03/28

[ruby-list:21288] Re: 引数コピーとオブジェクト指向

From: IWAOKA Masahiro <iwaoka@...>
Date: 2000-03-10 04:47:04 UTC
List: ruby-list #21288
いわおかです。

僕自身はプログラミングは専門じゃないし、OO にも精通しているとは思っ
てませんが、

In message <xnmln3rwqiw.wl@nancy.coop.nagoya-u.ac.jp>
	ogino@coop.nagoya-u.ac.jp writes:
> class Perosn
>   def initialize(name)
>     @name = name
>   end
> end
> 
> というコードがあり
> 
> name = 'John'
> john = Person.new (name)
> 
> とすると、オブジェクト 'John' に対してこのコード(クラスの外側)の中では
> name という窓が、クラスの内側では @name という窓が開かれています。この
> 外側への窓をクラス Person では閉じることができないので、外側の窓経由で
> 
> name.sub! (/.*/, 'Paul')
> 
> などすると、@name が指すものを「引っ掻き回す」ことができるわけですが、

この例をもって「引っ掻き回す」という感覚の方に違和感を覚えます。

この例で name と @name の指し示すオブジェクトの実体は一つであって、
name.sub! が変更しているのは、そのオブジェクトそのもので、@name が
指しているオブジェクトは変らず同じもの (内容が変わっていても) だか
らです。

> ここが「カプセル化」という言葉と違和感があるというだけです。「それでい

@name の指し示す先は変っていないので、つまり @name は変っていない
ので、別にいいのでは。

変な例かもしれませんが、C でいえば、あるアドレスに何か値が入ってい
て、そのアドレスを指すポインタが 2 つある場合、片方のポインタの操
作で値を変更しても、他方のポインタが保持しているアドレスが変化する
わけではないということと同じ感じじゃないでしょうか。

@name に name とは「別の」オブジェクトを指して欲しい場合に、dup す
ればよいのでは。

あるオブジェクトを変更するかどうかの裁量はプログラマに任されている
から、'!' の有無という 2 種類のメソッドが用意されているのではない
でしょうか。

僕も勉強したいので、上の考えの間違いを指摘していただけるとありがた
いです。

いわおか

In This Thread