[#38020] irb で %W(#{...}) — yoshihisa masuda <sacong@...>
マスダといいます。
[#38036] undef variable — hirocy <hirocy@...>
hirocyです.
[#38039] proc method — "K.Sasada" <ko1@...>
こんにちは。ささだです。
[#38056] ファイル書換え? — 中村文建 <tx6f-nkmr@...>
初めまして、MLに参加させて頂く中村と申します。
[#38057] [ANN] Ruby-GNOME2-0.6.0 — Masao Mutoh <mutoh@...>
むとうです。
[#38059] [ANN] rbbr-0.3.0 — Masao Mutoh <mutoh@...>
むとうです。
[#38073] module extendable? — Takeshi Horinouchi <horinout@...>
堀之内と申します。
[#38080] ポートが閉じているときの例外など — Mitsuru Ogino <ogino@...>
荻野と申します。いつも質問や要望ばかりですみません。
なかだです。
いわおかです。
荻野です。
なかだです。
いわおかです。
In message <20030812150516.GV37221@barber.fe.rn.tuat.ac.jp>
中川と申します。
In message <20030814.140757.707824131.tetsuo@sapphire.siz.nes.nec.co.jp>
なかだです。
In message <200308160517.h7G5HcPL012839@sharui.nakada.kanuma.tochigi.jp>
なかだです。
In message <200308180959.h7I9xnb7001977@sharui.nakada.kanuma.tochigi.jp>
なかだです。
まつもと ゆきひろです
[#38090] ruby-1.8 で eruby が SEGV — Kazuhiko <kazuhiko@...>
かずひこです。
[#38104] XMLRPC::ModRubyServer — OHARA Shigeki <os@...>
大原です。
[#38122] ruby-tcpwrap and mkmf.rb — Takahiro Kambe <taca@...>
こんにちは。
At Sat, 16 Aug 2003 12:51:55 +0900,
In message <200308160518.h7G5IXPL012842@sharui.nakada.kanuma.tochigi.jp>
なかだです。
In message <200308160714.h7G7ErPL014647@sharui.nakada.kanuma.tochigi.jp>
前田です。
In message <87d6f3znlc.wl@kirk.priv.netlab.jp>
前田です。
わたなべです。
[#38164] Ruby1.8.0でRuby-PostgreSQLがビルドできない — kensaku Maki <sakaki@...>
はじめまして、まきと申します。
[#38183] String << の動作につきまして — kuto@...
うと と申します。
たけ(tk)です。
ふなばです。
たけ(tk)です。
ふなばです。
たけ(tk)です。
ふなばです。
ども、西啓一朗@Ktouth Brand. です。
ふなばです。
ども、西啓一朗@Ktouth Brand. です。
[#38195] 理解の進め方(Re: String << の動作につきまして) — Tadashi Oh-Ya <toy@...>
おおやです。
たけ(tk)です。
In "[ruby-list:38206] 理解の進め方:シュールな世界"
たけ(tk)です
[#38198] Tmailで送るメールに日付がつけられなくなりました — 川田誠司 <kawada.seiji@...>
はじめまして
[#38256] かみ砕いた説明をすべき範囲 — 西 啓一朗 <receiver@...>
ども。西啓一朗@Ktouth Brand. です。
なかだです。
たけ(tk)です
なかだです。
たけ(tk)です
いわおかです。
たけ(tk)です
まつもと ゆきひろです
たけ(tk)です。
たけ(tk)です。
[ruby-list:38315] Re: 箱モデルの有害性
まつもと ゆきひろです
In message "[ruby-list:38312] 箱モデルの有害性"
on 03/09/01, Take_tk <ggb03124@nifty.ne.jp> writes:
|> 堀川 久 <vzw00011@nifty.ne.jp> さん 曰く:
|> > よくあるオブジェクト指向言語で、変数を箱と捉えると、理解の妨げになるだ
|> > けで、まったく有害です。
|>
|> どういう弊害があるのですか?
|
|有害なモデルというのは気になります。詳しく説明していただけませんか?
私は堀川さんではありませんが。
まず最初に思いついた「有害性」は、変数とオブジェクトの混同を
招きそうということです。CやC++では実際に変数も箱ですし、オブ
ジェクトも箱で、変数のアドレスを取ればそれはすなわちオブジェ
クトなのですが、Rubyでは明らかに別物です。言語が背景としてい
るモデルが違う以上、説明に使うモデルも違う方が良いように思い
ます。
次に思いついたのが、「値」という言葉の意味が不明瞭になりそう
という点です。
箱モデルっていうのは空っぽの入れ物があってそこに「値」が入る
モデルですよね。たとえば構造体だと変数の場所には各メンバのた
めの場所が用意されていて、そこに値が入ることになるわけです。
このモデルでは「値」というのは「中身」です。つまり"foo"とい
う文字列なら「fooという文字の並び」です。変数は箱だというこ
とはそういうことを意味します。一方、Rubyでは一般に「値」とい
えばアイデンティティを指します。オブジェクトIDと言ってもいい
かもしれません。ある文字列の内容が破壊的メソッドによって更新
されても、それは値が変わったのではなく、内容が変わったのです。
実はのところ私は、たけさんの本をまだ読んでいないのですが(※)、
ruby-listでのメールのやりとりを読む限り、値という単語に対す
る混同は実際に起きているようで、箱モデルの有害性は単なる杞憂
ではすまないのかもしれません。
たとえ話はしょせんたとえ話ですから、トレードオフで判断すれば
よいのですが、Rubyの解説で箱モデルを採用するメリット(もしあ
れば。私はまだ十分に理解していないのですが)と上記のデメリッ
トを比較して選択することになると思います。
----------
さて、とはいえ、Webページと違って、実際に書いてしまった本の
内容を更新するわけにはいかないので、たけさんの著作については
これで良いとして、今後別の機会にRubyの変数について解説する機
会があったとしたら、どのように説明する方が良いのか、という話
をしたいのです。
箱モデルで名札モデルの代わりになることに疑問を持つ人はいない
と思います。結局(実装では)ポインタで表現されているのですし。
しかし、そのメリットは私にはよくわかんないです。
「実は箱モデルにはこういうメリットがある」とか「こういう前提
条件なら箱モデルの方が良い」とか「箱モデルより、名札モデルよ
り、こんなモデルの方が良い」とかあれば聞いてみたいです。
まつもと ゆきひろ /:|)
※ 最近、本が出ても私には献本がないんです。さみしい。