[#18226] Ruby 本ってば、うれしいなー — Atsuko Yoshida <atsuko@...>
こんにちは〜。久しぶりです。あつこです。
[#18233] [book] blade.nagaokaut.ac.jp/ruby/ruby-list/ — Shin-ichiro Hara <sinara@...>
原です。
けいじゅ@日本ラショナルソフトウェアです.
原です。
これつぐです。
けいじゅ@日本ラショナルソフトウェアです.
これつぐです。
けいじゅ@日本ラショナルソフトウェアです.
原です。
[#18265] アクセス制御について — Tadashige Morii <m_tada@...>
森井です。
[#18293] [book] 新宿紀伊國屋売り上げ情報 — Noritsugu Nakamura <nnakamur@...>
[#18332] rubyTk の Tk は何がお勧めですか? — Sakae Kobayashi <sakae@...>
小林栄と申します。
[#18338] オブジェクトの非同一性判定 — Ayanosuke <aya@...>
綾乃介です。
いわおかです。
綾乃介です。
[#18348] Is there ext/GD for gd-1.7.x — "OGAWA, Hiroshi Santa" <santa@...>
Ruby本買って目から鱗を落としながら読んでいます。
[#18361] Proc in a loop — ttate@...
立石です。
[#18374] regular pattern — Katsuya Tanaka <tanaka@...>
まつもと ゆきひろです
[#18408] [BUG] debug.rb(?) — Chikanaga Tomoyuki <hekitou@...>
近永です。
[#18420] bindrv on oracle — 中村暁史 Nakamura Akifumi <BXQ04723@...>
[#18447] mswin32 でのファイル名の大 / 小文字 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#18467] Array doesn't include Comparable — kjana@... (YANAGAWA Kazuhisa)
Array#<=> が定義されてるのに not Array < Comparable なのは何か理由があ
[#18476] paramclass — gotoken@... (GOTO Kentaro)
ごとけんです
[#18485] Linux magazine 12/1999 — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
なひです.
[#18494] `make test' failure on Cygwin build w/ --enable-shared — Mimpei MORISHITA <mimpei@...>
森下 @ CAC と申します。
[#18501] 関数 ` の動作 — Keisuke CHIBA <chiba@...>
ちばと申します.
[#18517] 自分の IP を獲得する方法 — Suguru Kakishita <kakky@...>
柿下です
[#18526] アイコンコンテスト(ファイル用) — Hoshino Hitoshi <zin@...>
星野(Zin)と申します。
[#18533] cover animal for Ruby book — Koretsugu Daigoro <tmmcross@...>
これつぐです。
[#18539] [book] $*, etc. — Yasuhiro Fukuma <yasuf@...>
福間@福岡 です。
ごとけんです
At Mon, 15 Nov 1999 17:49:27 +0900,
ごとけんです
小林です。
[#18545] 変数の型チェック — "Hideaki Takata" <hideakit@...3.dion.ne.jp>
高田です。
[#18580] — tokoma@... (中川 誠)
中川です。
もとの質問のかたとは別の中川です。
中川です。
中川です。長文で失礼します。
中川です。
まつもと ゆきひろです
中川です。
えぐち@エスアンドイー です。
中川です。
えぐち@エスアンドイー です。
中川です。
えぐち@エスアンドイー です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
中川です。
えぐち@エスアンドイー です。
中川です。
えぐち@エスアンドイー です。
中川です。
えぐち@エスアンドイー です。
中川です。
えぐち@エスアンドイー です。
[#18582] Regexp source — Kazuhiro Nishiyama <nishiyama@...1.tiki.ne.jp>
こんばんは、ZnZです。
新井です。
[#18584] [REQ] [].grep(pat) #=> [] — gotoken@... (GOTO Kentaro)
ごとけんです
立石です。
[#18603] coding style — Shugo Maeda <shugo@...>
前田です。
[#18608] swigruby-0.3 — Masaki Fukushima <fukusima@...>
福嶋です。
[#18632] header output in eruby — TAKEUCHi Kahori <take-k@...>
こんにちは、たけうちと申します。
[#18637] constant? — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
わたなべです.
もりきゅうです。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
あおきです。
[#18638] fibonacci — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
[#18666] FileTest on NT — Keisuke CHIBA <chiba@...>
ちばと申します.
[#18668] rand — Ito Kazumitsu <ito@...>
伊藤と申します。
[#18687] Re: header output in eruby — TAKEUCHi Kahori (竹内かほり) <take-k@...>
たけうちです。
[#18709] ADO にて datetime 型の取得 — Takashi SHIODA <tsio@...>
塩田です。
助田です.
オレンジソフト塩田です。
助田です.
わたなべです.
なひです.
[#18712] Re: header output in eruby — TAKEUCHi Kahori <take-k@...>
たけうちです。
なひです.
まつもと ゆきひろです
まつもと ゆきひろです
なひです.
[#18741] Re: Why Mix-in? (Re: [book] $*, etc.) — Toyofuku <toyofuku@...>
豊福です。
まつもと ゆきひろです
[#18773] [Q] mod_ruby を使用したスクリプトについて — Yamada Kenji <kyamada@...>
[#18788] super — Kazuhiro Nishiyama <nishiyama@...1.tiki.ne.jp>
こんばんは、ZnZです。
[#18801] Re: super — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。ちょいと長文。
[#18807] protected なメソッドの再定義 — YAMASHITA Junji (山下 純司) <ys_jyunji@...>
山下 純司です。
[#18830] mod_ruby-0.1.4 — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
In message "[ruby-list:18830] mod_ruby-0.1.4"
高橋征義です。
なひです.
高橋です。
[#18833] delete array member inside each block — Kikutani Makoto <kikutani@...>
たとえば、「整数の配列の偶数メンバーだけ消す」みたいのは
[#18852] Re: Why Mix-in? (Re: [book] $*, etc.) — Toyofuku <toyofuku@...>
豊福です。
[#18853] initializer polymorphism? — Takeyuki Watadani <watadani@...>
渡谷といいます。
In message "[ruby-list:18853] initializer polymorphism?"
渡谷です。すばやい回答ありがとうございます。
ごとけんです
福嶋です。
ごとけんです
石橋秀仁です。無用の情報です。
立石です。
[#18868] Singleton の instance が複数になることがある — Kazuhiro Nishiyama <nishiyama@...1.tiki.ne.jp>
こんばんは、ZnZです。
[#18896] Database and Object Oriented Programming — Akihiro Yamauchi <aygoofy@...>
こんばんは。
[#18911] Re: eRuby 変換後の無駄 (?) な改行 — TAKEUCHi Kahori <take-k@...>
たけうちです。
松尾です。
前田です。
こんばんは、ZnZです。
前田です。
[#18914] Ruby standard GUI framework? — Hideto ISHIBASHI <s34204@...>
石橋秀仁です。
石橋秀仁です。
石橋秀仁です。
石橋秀仁です。
田中@ISASです。ruby-listの方は初めてです。よろしくおねがいします。
たかたです。
石橋秀仁です。
石橋秀仁%オープンソース原理主義者です。
In message <19991206121518W.s34204@vip.cis.kurume-nct.ac.jp>
[#18941] ruby-1.4.2 for Human68k について — IWATSUKI Hiroyuki <don@...>
はじめまして、岩月と申します。
[#18948] 他言語との比較 — とみたまさひろ <tommy@...>
とみたです。
[#18961] or と || の違い — Ayanosuke <aya@...>
館林と申します。
川戸と申します。はじめまして。
[#18994] ftplib で日付の詳細な list を得たい — Hiroshi Saito <HiroshiSaito@...>
こんにちは、サイトウです。
[ruby-list:18310] Re: 変数、代入
植木です。 Wakou Aoyama <wakou@fsinet.or.jp> writes: [ruby-list:18217] Re: ruby bug? (Re: 変数、代入) >もう1つ、変数はオブジェクトでは無い、"foo" 等は新たなオブジェクトを生 >成するという事を認識する必要があります。 > 〜中略〜 >重要な点は、「変数はオブジェクトでは無い」「主役はオブジェクトであり、 >変数では無い」といった感じでしょうか。 変数とオブジェクトの違いを説明するのに 「変数はオブジェクトへのリンクである」というのはどうですか? 私なりに説明してみますと... 変数には、どのオブジェクトへのリンクなのかという情報が記憶され 変数の値を変更するというのは、別のオブジェクトにリンクしなおす ということである。 変数をオブジェクトにリンクするには = 演算子を用いて次のようにします。 foo = "foo" このとき "foo" には固有の番号(仮に1)が自動的につけられるので foo は、「1番のオブジェクトへのリンク」になります。 また、変数の持つリンク情報は別の、変数にコピーすることができ、 おなじく = 演算子を用いて次のようにします。 bar = foo これで、変数 bar も「1番のオブジェクトへのリンク」になりました。 現在、foo、bar ともに同一のオブジェクトにリンクされてますので どちらの変数をレシーバとしてメソッドを呼び出しても、対象になるのは 1番のオブジェクト(つまり、この場合は "foo")になります。 次のようにすると、 foo[0] = "F" foo のリンク先である1番オブジェクトに、[]= メソッドを適用し その結果、1番オブジェクトの内容は "Foo" になります。続けて bar << "bar" とすると、やはり bar のリンク先である1番オブジェクトに対して << メソッドが適用されます。1番オブジェクトは先ほどの処理で "Foo" となっているので、その後ろに "bar" が追加されます。 結果、1番オブジェクトの内容は "Foobar" となるわけですが、 変数 foo、bar は相変わらず「1番オブジェクトへのリンク」のままです。 副作用あるメソッドによって、オブジェクトの状態が変更されたとしても 変数に記憶されたリンク情報には何も影響を与えません。 今後も、与えられたメッセージをリンク先のオブジェクトに伝えるために ひたすら仲介役として働いてくれます。 それでは、変数 foo を別のオブジェクトへのリンクに変更したい場合は どうすればよいのでしょうか。単純に次のようにすればOKです。 foo = "別のオブジェクト" これで、foo は "別のオブジェクト" にリンクされます。 実際には "別のオブジェクト" にも固有の番号(仮に777)がありますから foo は、「777番オブジェクトへのリンク」となります。 もともとあった1番オブジェクトへのリンク情報は、上書きされて 消えてしまいます。 以後、変数 foo に与えるメッセージは、すべて777番オブジェクトに 伝えられるようになりますから、1番オブジェクトに対するメッセージは 変数 bar に送るしかありません。 ちなみに、bar のリンク先も1番以外のオブジェクトに変更した場合は 1番オブジェクトにアクセスすることができなくなりますが、 GC が勝手に回収してくれます。 以上のことを簡単にまとめると *変数には、オブジェクトへのリンク情報が記憶され、 そのリンク情報は他の変数にコピーすることもできる。 *変数に与えられたメッセージは、すべてリンク先のオブジェクトに 伝えられるため、同一のオブジェクトを複数の変数からアクセスできる。 *メソッドによってオブジェクトの内容が変更されたとしても 変数の値(リンク情報)に影響を与えることはない。 *変数の値(リンク情報)の設定、変更は、= 演算子を用いて行う。 その際、オブジェクトの内容に影響を与えることはない。 *どの変数からもリンクされていないオブジェクトは GC に回収される。 う〜ん、どうでしょう? はたしてどれくらい当たってるのかなぁ...(^^; 間違ってたら指摘してくださいm(__)m >これらは、メソッドへのオブジェクトの引き渡し等の理解にも有効かと思います。 > 〜中略〜 >このような場合、Ruby における引数の受渡しは参照渡しであるという説明が >一般的ですが、参照渡しに馴染みが無い方などには、変数はオブジェクトでは >無い、Ruby における主役はあくまでオブジェクトであり、引き渡されるのは、 >変数が指し示すオブジェクトである。という説明で、どうでしょうかね。 こちらも、メソッドの引数として引き渡されるものは、 変数に記憶されているリンク情報である。という感じではどうでしょう。 --------------------------------------- 植木岳彦 E-Mail: takehiko@os.rim.or.jp Takehiko Ueki