From: m_seki@... Date: 2000-03-10T14:25:01+09:00 Subject: [ruby-list:21290] Re: 引数コピーとオブジェクト指向 咳といいます。 松> というコードはそもそも書くべきではないのです。Personは渡されたデータを 松> 渡してもらった瞬間から自分のものだと信じて使うからです。 松> 多分荻野さんは「こういうコードも許すようにPersonを実装」すべきではない 松> のか? と思っておられるのでしょう。でも違うんです。ちゃんと分析が出来て 松> いて、スキルの高い開発者間で意思統一が出来ていれば、そういうことは全く 松> 必要がなくなってくるのです。 松> 逆に言うと、「安全側に倒して、渡す前にコピー、渡された後でコピーする」 松> といったやり方をするプロジェクトは、何処かがおかしいと言えると思います。 なるほど。 人に使ってもらうライブラリのいくつかで、安全側に倒そうと思って そういうコピーしていました。 だいぶ悩んだ末にそうしたんですけど、ドキュメントに明記して そのまま保持、にすればよかったのかな。 気をつけようっと。 安全側に倒すといえば、よくCGIなんかでやるんですけど def foo(s) print escapeHTML(Kconv.toeuc(s.to_s)) end の s.to_s なんかもやっぱりまずいのかな。