[#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:21438] Re: 引数コピーとオブジェクト指向

From: Hideto ISHIBASHI <s34204@...>
Date: 2000-03-14 19:52:47 UTC
List: ruby-list #21438
石橋秀仁です。

> そもそも「dup論議」は、RubyのStringの特殊性に起因するようです。
>   「Stringの変更権問題」を解決して、String#dupを使わない
> というのが結論ではないでしょうか?

> また、String#freezeを使って文字列を管理するなら、
>   非破壊的メソッドは不要
> ですね。

と言いつつ、自分では破壊的メソッドを使ったことのない人間としては、
  非破壊的メソッドしか使わない、だからString#dupは不要
というのを推進します。(べつのメールでも書きましたが)

# 自分のスタイルは勝手だが、他人に強制しないで、というのがポイント。


それと、一連の議論で出てきた問題発言に、まとめてツッコミ。
 「状態を保存」したければ`Memento'パターンを、
 「変更を通知」したければ`Observer'パターンを、
 「操作を限定」したければ`Proxy'パターンを
使いましょう。悪い意味で「職人芸」を発揮したり、言語にローカルな
「小技」で対処したりしないで。というのは余計なお世話だったり。

# てのは、真紀さんのCマガ「ローテク講座」の受け売りだったり。


もう一度確認したいのが、「渡すときにdupする」というフレーズの文脈です。
「dupする人」と「考え方」による4パターン。

 ``1 渡される側,, ``2 渡す側,, ``a 安全重視,, ``b dupして当然,,

 1a メソッドが、渡されたString引数を壊さないようにdupする
 1b 渡されたものがdupされたStringだと期待できないからdup

 2a 渡す側が、String引数を勝手に壊されないようにdupする
 2b 使いたいメソッドが内部的にdupすることを期待できないから、渡す前にdup

ここで問題なのが、`b'グループの考え方です。これは「dupして当然」を
基本に、どちらがdupするかを問題にしています。なぜこれが問題になるかと
いうと、自分で両者を同時に管理できないからでしょう。ずっと、他人が
作ったメソッドを使うときや、他人に自分のメソッドを使わせるときなどの
話をしていたわけで、自分で両方やる場合の話をしていたわけではない。

# 自分で作るとしても結局は同じこと。三ヶ月前の自分は他人なので。

よくない言葉を使えば、信用できない奴に使わせなきゃいけないとか、
信用できない奴のコードを使わなきゃいけない、という話です。
こんなに疑心暗鬼では、精神衛生上よろしくない。オシゴトっぽい。
幸せじゃない。Rubyらしくない。

で、ぼくは、「みんな」で管理しましょう、と言いたい。使う側だけや、
使わせる側だけに責任を負わせるよりも、みんなで少しずつ負担しましょう。
たくさんの``eye ball(C)Linus''でバグを見つけましょう。ということ。

# 日本的民主主義ってそういうもんでは。みんなで責任とりましょう。
# でも誰がミスったかバレてしまう仕組みがConstantStringだったり。

バグなんて、あって当然。バグを無くすことに血道を上げるより、すぐに
見つけて直せるようにする仕組みを作ることが大事。バグが出ても慌てず、
騒がず、ゆっくりバグと戯れるくらいの心のゆとりが大切。

# てのは、藤原博文さんの『Cプログラミング専門過程』などの受け売りだったり。

--
「パクらせれば日本で三番目!」
Hideto "小室哲哉とつんくにはぜったい勝てん" ISHIBASHI 名誉ダンスマン

In This Thread