[#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

荻野です。

[#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

ただただしです。

[#21365] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 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:21382] Re: 引数コピーとオブジェクト指向

From: TADA Tadashi <sho@...>
Date: 2000-03-13 08:52:52 UTC
List: ruby-list #21382
ただただしです。

#書いてるうちに話が進んじゃってるけど出しちゃおう。

Matsuo Hisanori <hisanori@sitc.toshiba.co.jp> wrote:
># '(笑)'には多少ムッとしましたよ…。

 面目ない。おっちょこちょいで、すみません。

># Stringがちょっと違うな、と言うのは共通認識としていいみたいですね。では…。

 そうですね。

>sub と sub! の使い分けはどの様にお考えでしょうか?
>
>利用する側の気分、というのは無しですよ。

 sub!は使いません……というのはダメ? いやマジなんですけど。

>Integerの様な「値」として扱いたい時は sub
># age = age + 1
># name = name.sub(...)
>
>Sectionの様な「インスタンス」として扱いたい時は sub!
># section.setName('庶務二課')
># name.sub!(...)
>
>としています。

 この分類はわからなくもないけれど、私はStringのようなプリミティブ
ものをインスタンスとして扱うことはまずないです。たしかにメソッドを
いくつか持っていて、オブジェクトのごとく振る舞いますが、「設計」な
んて言葉が出てくるような局面で、Stringが値ではなくインスタンスとし
て出てくるような使い方はしませんねぇ。

 Stringには値としてしか振る舞わせたくないからdupする、が私のスタ
ンスです。実際、自分で書いたRubyスクリプトの中でsub!系を使っている
のは、メソッド内の作業用変数くらいでした。

#自分しか使わない(=破壊的メソッドを使わない)のがわかっているので
#dupも使っていませんが、人に使わせるつもりならdup(もしくはfreeze)
#するでしょう。

>「値」と「インスタンス」の区別
>「インスタンス」を操作できる責任の明確化
>
>が出来ていれば、やっぱりdupする必要は(殆ど)ないんですよ。

 一番最初のPersonクラスの場合は、nameを操作できる責任が明確化でき
ないじゃないの、という(たしか荻野さんの?)指摘を私は支持します。と
いうか、誰も指摘してなくても私はそう思う。

 Personとその呼び出し元の関係だけに着目すれば、ドキュメントに書く
ことで回避できるかも知れないけど、nameへの参照はPersonを書いた人が
あずかり知らぬほど隔たったところまで行くかも知れませんから。松尾さ
んが[ruby-list:21286]でおっしゃられていることもわかるんですけど、
ことRubyのStringに関して言えば、(インスタンスとして)ナマで使うのは
危なすぎると思います。

#自分にはJavaのStringが一番しっくりくるのかな。Stringはnewする端
#からfreezeするのがいいのかも……。

と、ここまで書いて席を離れてたら[ruby-list:21380]が届いて、松尾さ
んとはそんなに隔たりがあるわけじゃないようだと思いました。私も「イ
ンスタンス」をdupするなんて、夢想だにしませんから。

 違いは Stringを「インスタンス」として扱うことがあるかどうかだけ
じゃないでしょうか。実際、RubyのStringをインスタンスとして使うこと
ってありますか? >松尾さん

#私はないです。破壊的メソッドなんていらない。と言ってしまおう(笑)

----
□Don't □ ただただし@神奈川県相模原市 <sho@spc.gr.jp>
□Think,□ カブ   http://www.bekkoame.ne.jp/~sho/cub/
□Buuuy.□ こま犬 http://www.bekkoame.ne.jp/~sho/komainu/

In This Thread