[#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:38300] 配列における「変数のモデル」
たけ(tk)です。 > |もう一つ悩んだのは、「配列やハッシュというオブジェクトとその要素・値とな > |るオブジェクトとの関係」と「変数とオブジェクトとの関係」は本質的に異なる > |ものなのか? ということ。 > | > |名前説をとった場合に配列と変数が似た性質を持つことをどうやって説明しましょ > |うか? 配列も要素オブジェクトの名前だ(※)、となるのか? 配列は「オブジェクトを順番に並べたもの、であるかの如く振る舞うように設 計されたオブジェクト」である。ハッシュは「キーと値という形で関連つけられ たオブジェクトの組みの集まり、であるかの如く振る舞うように設計されたオブ ジェクト」である。 それらのオブジェクトのインデックス代入メソッドとインデックス参照メソッ ドは、「配列[インデックス]があたかも変数である、かの如くに振る舞うように 設計されたメソッド」である。 オブジェクトの隠蔽性を念頭に置くなら、配列やハッシュがどのように実現さ れているか、どういう仕組みになっているか、その内部構造が変数と似ているか どうか、は不可知であり、詮索することは無意味なことである。 しかしながら、「あたかも変数であるかの如くに振る舞う」という仕様は「変 数をモデルとして設計された」ということであるから、そこに含まれる変数のモ デルを知ることには意味がある。 1. 変数のモデルの要素 まず、Rubyの変数のモデルを記述するために必要な要素、機能を考えてみた。 (1)変数とオブジェクトは別のもの。 (2)変数自体はオブジェクトではない。 (3)変数には名前がある。変数名。 (4)変数は特定のオブジェクトを指し示す。変数はオブジェクトを特定する。 (4−1)変数によって指し示されたオブジェクトは、自分を指し示した変数を 知らない。たとえ知ることができたとしても、変数とオブジェクトとの関係の本 質には無関係。 (4−2)1つの変数は1つのオブジェクトを指し示す。複数のオブジェクトを 指し示すことはない。何も指し示さないということも無い(nilオブジェクトを 指し示す)。 (4−3)複数の変数が1つのオブジェクトを指し示すことはあり得る。この場 合には複数の変数が同じ内容を示す。 (4−4)異なった複数のオブジェクトが同一内容を持つ場合がある。複数の変 数がそれぞれ別のオブジェクトを指し示しているときに、それらが同じ内容を示 すことがあり得る。 (4−5)−3と−4では、破壊的メソッドを使ったときに、異なった結果にな る。従って、これを区別する必要がある。 (5)変数が指し示すオブジェクトを変更することができる。これを代入という。 (5−1)変数の値が変わる、といっても、代入によって変数が指し示している オブジェクトが入れ替わる場合と、破壊的メソッドによって変数が指し示してい るオブジェクトの状態が変わる場合とがある。 (6)変数を通してオブジェクトを利用可能にする/操作可能にする/対話可能 にすることを参照という。 (6−1)オブジェクトは直接扱うことはできない。オブジェクトを変数から 「取り出す」ことは出来ない。 1. インデックス代入/参照メソッドのモデル 配列やハッシュのインデックス代入/参照メソッドで「あたかも変数であるか の如くに振る舞う」という仕様から、そこに含まれる変数のモデルを想定してみ ると次のようになった。 (1)配列[インデックス]と要素のオブジェクトは別のもの。 (2)配列[インデックス]自体はオブジェクトではない。 配列[インデックス]は「変数であるかのごとく設計されたメソッド」なのであ るから、配列[インデックス]は変数ではない、ということは問題とはならない。 (3)配列[インデックス]は名前を持っているわけではない。● 配列[インデックス]は名前ではあり得ない。配列はオブジェクト、インデック スもオブジェクトである。 変数は名前によってオブジェクトを特定するが、配列[インデックス]において は《名前ならざるもの》によってオブジェクトを特定する。 (4)配列[インデックス]はオブジェクトを指し示す。一方通行。 (4−1)配列[インデックス]によって指し示されたオブジェクトは、自分を指 し示した配列[インデックス]を知らない。 (4−2)1つの配列[インデックス]は1つのオブジェクトを指し示す。複数の オブジェクトを指し示すことはない。何も指し示さないということも無い(nil オブジェクトを指し示す)。 (4−3)複数の配列[インデックス]が1つのオブジェクトを指し示すことはあ り得る。この場合には複数の配列[インデックス]が同じ内容を示す。 (4−4)異なった複数のオブジェクトが同一内容を持つ場合がある。複数の配 列[インデックス]がそれぞれ別のオブジェクトを指し示しているときに、それら が同じ内容を示すことがあり得る。 (4−5)−3と−4では、破壊的メソッドを使ったときに、異なった結果にな る。従って、これを区別する必要がある。 (5)配列[インデックス]が指し示すオブジェクトを変更することができる。こ れをインデックス代入という。 (5−1)配列[インデックス]の値が変わる、といっても、インデックス代入に よって配列[インデックス]が指し示しているオブジェクトが入れ替わる場合と、 破壊的メソッドによって配列[インデックス]が指し示しているオブジェクトの状 態が変わる場合とがある。 (6)配列[インデックス]を通してオブジェクトを利用可能にする/操作可能に する/対話可能にすることをインデックス参照という。 (6−1)オブジェクトは直接扱うことはできない。オブジェクトを配列[イン デックス]から「取り出す」ことは出来ない。 1. 対比から得られる結論 この対比から得られる結論は、配列[インデックス]は変数が有する特徴のうち、 変数は名前を持つ、ということを除いたものをすべて備えているということ。 従って「変数であるかの如く振る舞う」ためには名前である必要はない。とい う結論になる。何らかの方法で、指し示すオブジェクトを特定できればよいので あって、その方法が名前である必要はない、ということ。 take_tk = kumagai hidetake