[#21115] ftpup with IIS — TADA Tadashi <sho@...>
ただただしです。
7 messages
2000/03/01
[#21131] RAA の License — Matsuo Hisanori <hisanori@...>
松尾です。
6 messages
2000/03/02
[#21140] extconf.rb on FreeBSD — NISHIKAWA <nyasu@...3web.ne.jp>
にゃすです。
7 messages
2000/03/02
[#21157] あったらうれしいメソッド to_n, to_n!, to_s! — ogino@...
荻野です。あったらうれしいメソッドということで書いてみます。
16 messages
2000/03/03
[#21158] Re: あったらうれしいメソッド to_n,to_n!, to_s!
— 中村暁史 Nakamura Akifumi <BXQ04723@...>
2000/03/03
[#21167] Re: あったらうれしいメソッド to_n, to_n!, to_s!
— matz@... (Yukihiro Matsumoto)
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
ただただしです。
[#21389] Re: 引数コピーとオブジェクト指向
— Matsuo Hisanori <hisanori@...>
2000/03/13
松尾です。
[#21365] Re: 引数コピーとオブジェクト指向
— Matsuo Hisanori <hisanori@...>
2000/03/13
松尾です。
[#21370] Re: 引数コピーとオブジェクト指向
— TADA Tadashi <sho@...>
2000/03/13
ただただしです。
[#21286] Re: 引数コピーとオブジェクト指向
— Matsuo Hisanori <hisanori@...>
2000/03/10
松尾です。
[#21173] TkSelection.own の使い方? — Noritsugu Nakamura <nnakamur@...>
13 messages
2000/03/03
[#21177] Re: TkSelection.own の使い方?
— Koji Arai <JCA02266@...>
2000/03/03
新井です。
[#21178] Re: TkSelection.own の使い方?
— Koji Arai <JCA02266@...>
2000/03/03
新井です。
[#21179] Re: TkSelection.own の使い方?
— Noritsugu Nakamura <nnakamur@...>
2000/03/04
[#21190] Re: TkSelection.own の使い方?
— Koji Arai <JCA02266@...>
2000/03/04
新井です。
[#21193] Re: TkSelection.own の使い方?
— Noritsugu Nakamura <nnakamur@...>
2000/03/05
[#21186] 文字列の二進数への変換 — ishihara-k@...3.tiki.ne.jp (Hiroki Ishihara)
文字列クラスには hex と oct というメソッドはありますが、
4 messages
2000/03/04
[#21196] cgi.rb で例外が発生 — RIO-T <rio-t@...>
はじめまして、高石と申します。
7 messages
2000/03/05
[#21233] rdindex — rubikitch <rubikitch@...>
るびきちです。
6 messages
2000/03/07
[#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
なかだです。
[#21354] Re: raise non-Exception object
— Kenichi Komiya <kom@...3.rim.or.jp>
2000/03/12
[#21358] Re: raise non-Exception object
— matz@... (Yukihiro Matsumoto)
2000/03/12
まつもと ゆきひろです
[#21397] Re: raise non-Exception object
— Kenichi Komiya <kom@...3.rim.or.jp>
2000/03/13
[#21300] media watch 2000.03.08 — Noritsugu Nakamura <nnakamur@...>
11 messages
2000/03/10
[#21323] Re: media watch 2000.03.08
— Hideto ISHIBASHI <s34204@...>
2000/03/11
石橋秀仁です。
[#21301] date2 の修正 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
15 messages
2000/03/10
[#21384] ruby 1.4.4 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
35 messages
2000/03/13
[#21403] Re: ruby 1.4.4
— Wakou Aoyama <wakou@...>
2000/03/14
青山です。
[#21454] Re: ruby 1.4.4
— Satoshi Nojo <nojo@...>
2000/03/15
Yukihiro Matsumoto さんは書きました:
[#21461] Re: ruby 1.4.4
— Minero Aoki <aamine@...>
2000/03/15
あおきです。
[#21626] Re: ruby 1.4.4
— Wakou Aoyama <wakou@...>
2000/03/24
青山です。
[#21635] Re: ruby 1.4.4
— Minero Aoki <aamine@...>
2000/03/26
あおきです。
[#21648] Re: ruby 1.4.4
— Wakou Aoyama <wakou@...>
2000/03/27
青山です。
[#21400] 式の中で変化する変数の値 — Kazuhiro Nishiyama <nishiyama@...1.tiki.ne.jp>
Rubyでは変数の値が前から見ていってその時点の値になっているのは
5 messages
2000/03/13
[#21442] 配列内のソート — Takayuki Tanaka <tanaka@...>
こんにちは Tanです。
16 messages
2000/03/15
[#21444] Re: 配列内のソート
— 市川 裕隆 <hirotaka.ichikawa@...>
2000/03/15
市川 as Tanukiです。
[#21449] Re: 配列内のソート
— IKARASHI Akira <ikarashi@...3.dion.ne.jp>
2000/03/15
五十嵐です。
[#21475] SJIS 文字列での問題 — Kenji Nagamatsu <knaga@...>
こんにちは、永松と言います。
5 messages
2000/03/16
[#21480] RD 事始め — rubikitch <rubikitch@...>
るびきちです。
7 messages
2000/03/16
[#21481] IO#method for read data from stream — ARIMA Yasuhiro <fit0298@...>
有馬です。
12 messages
2000/03/16
[#21484] Re: IO#method for read data from stream
— Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
2000/03/16
越水です。
[#21537] racc 0.13.0 — Minero Aoki <aamine@...>
あおきです。
6 messages
2000/03/19
[#21538] Project Apollo — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。Apollo について。
13 messages
2000/03/19
[#21553] Re: Project Apollo
— 中村暁史 Nakamura Akifumi <BXQ04723@...>
2000/03/20
[#21557] <RE =~ target> and <target =~ RE> — ARIMA Yasuhiro <fit0298@...>
有馬です。
7 messages
2000/03/21
[#21570] Qt module for ruby — Nobuyuki Horie <horie@...>
堀江ともうします。
5 messages
2000/03/21
[#21583] ruby for Web — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
27 messages
2000/03/22
[#21584] Re: ruby for Web
— "NAKAMURA, Hiroshi" <nakahiro@...>
2000/03/22
なひです.
[#21588] Re: ruby for Web
— TAKAHASHI Masayoshi <maki@...>
2000/03/23
高橋征義です。
[#21586] squid log 時刻変換 — Yamada Kenji <kyamada@...>
8 messages
2000/03/23
[#21604] RDtool 0.6.0 pre4 — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp>
Toshです。
10 messages
2000/03/23
[#21611] Re: RDtool 0.6.0 pre4
— rubikitch <rubikitch@...>
2000/03/24
From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>
[#21720] Re: RDtool 0.6.0 pre4
— Toshiro Kuwabara <toshirok@...3.so-net.ne.jp>
2000/04/01
Toshです。
[#21728] Re: RDtool 0.6.0 pre4
— rubikitch <rubikitch@...>
2000/04/01
From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>
[#21649] net-1.1.10 — TAKAHASHI Masayoshi <maki@...>
高橋征義です。net/http 使いたおし中。
17 messages
2000/03/27
[#21655] Re: net-1.1.10
— Minero Aoki <aamine@...>
2000/03/27
あおきです。
[#21659] Re: net-1.1.10
— TAKAHASHI Masayoshi <maki@...>
2000/03/27
高橋征義です。
[#21664] Re: net-1.1.10
— Minero Aoki <aamine@...>
2000/03/27
あおきです。
[#21889] net/http
— TAKAHASHI Masayoshi <maki@...>
2000/04/14
高橋征義です。
[#21906] Re: net/http
— Minero Aoki <aamine@...>
2000/04/14
遅くなりました、あおきです。
[#21669] new version of mod_ruby & eRuby — Shugo Maeda <shugo@...>
前田です。
14 messages
2000/03/28
[#21681] Re: new version of mod_ruby & eRuby
— Wakou Aoyama <wakou@...>
2000/03/29
青山です。
[#21683] Re: new version of mod_ruby & eRuby
— Shugo Maeda <shugo@...>
2000/03/29
前田です。
[#21671] GoF's Flyweight Pattern — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋秀仁です。
10 messages
2000/03/28
[ruby-list:21380] Re: 引数コピーとオブジェクト指向
From:
Matsuo Hisanori <hisanori@...>
Date:
2000-03-13 06:59:11 UTC
List:
ruby-list #21380
松尾です。
土岐 仁謙 wrote:
> def html_quote(data)
> data = data.dup
> data.gsub!(/&/, "&")
> data.gsub!(/</, "<")
> data.gsub!(/>/, ">")
> data
> end
これが、
def html_quote(data)
data.gsub(/&/, "&").gsub(/</, "<").gsub(/>/, ">")
end
こちらでないのは、
> 実用上はほとんど変わらないのだろうけど、なんとなく
> 破壊的メソッドの方が速度やメモリ消費の点で有利そうに思えるので。
「なんとなく」ということですね? 僕がレビューするならもう一度考えてきて
もらいます。
1 変換後の「値」が必要だ。dataの中身を変えたいわけじゃない。
2 破壊的なメソッドを使いたい。
3 でもdataは自分の責任範囲でないからdupする。
というのは本末転倒の様に見えませんか?
1 変換後の「値」が必要だ。dataの中身を変えたいわけじゃない。
2 非破壊的なメソッドを使う。
でいいじゃないですか?
僕から見ると、「値」と「インスタンス」の区別、「インスタンス」の操作責
任の明確化が不完全になっている印象を受けます。
# もちろん、後でチューン等する時に必要であれば「dup、破壊的メソッド」
# に変更するのは有り得ます。
## (そうした場合僕はその部分にコメントを入れます。「分かってない」と誤
## 解を与えない様にね)
--
> 思い返してみると、文字列以外のオブジェクトはまったくdupしたことが
> ないです。思うに、文字列はかなり特殊なのではないかという気がします。
そうなんです。アプリケーションで必要だから作ったクラスの「インスタンス」
は、滅多にdupする必要がないんです。これは経験的に同意頂けますよね。
数は「値」だからdupしなくていいんです。
で、String。
Stringは、アプリケーション中では殆どの場合「値」として使われるのに、実
装は「インスタンス」なんですね。だから破壊/非破壊なメソッドがある訳な
んです。僕に言わせると、「なんとなく」ではなく「値」か「インスタンス」
かで、使い分けをすべきなんです。
TADA Tadashi wrote:
> 粒度の違うモンを並べて「全部dupするかしないか選べ」つーのは乱暴
> だと思うんですよ。けっきょく「時と場合による」が至言ということか。
粒度の違うものを並べて、全部一つの同じ理由で「コピーが必要ない」と言っ
ているのではないのです。そうだとしたらおっしゃる通り、確かに乱暴。
粒度の違うものそれぞれが、それぞれ*別の理由*で「コピーが必要ない」ので、
結局全部「コピーが必要ない」ということになるわけです。まとめると以下の
通り。
1. 「値」はコピーする必要がない
2. (殆どの)「インスタンス」は、殆どコピーする必要がない
3. 「String(等、一部のクラスのインスタンス)」は、
3-1. 「値」としてみている時は(非破壊的なメソッドを使い)、コピーする必要がない
3-2. 「インスタンス」としてみている時は、殆どコピーする必要がない
--
こういう視点で見ていると、
「渡す前にコピー、貰った後でコピー、使う前にコピー」
というのは、プロジェクトの何処かに「値」と「インスタンス」の区別、「イ
ンスタンス」の操作責任の明確化ということに対して、余りセンシティブでな
い開発者がいるということになります。
不安になりませんか?