僕の右手が僕ならば

| | Comment(0) | Trackback(0)
a = [0,1,2,3]
a[3] = a
p a
#=>[0,1,2,[...]]
っていうのをRuby チュートリアル - 4. 主なクラスで見かけた。

プログラミング言語 Ruby
まつもと ゆきひろ David Flanagan
オライリージャパン
売り上げランキング: 2396



VMware Fusion for Mac | Fusion 入門

[0,1,2,[...]]
[...]
は配列である a を示している。Ruby初心者としては、
#=>
[0,1,2,[0,1,2,3]]
っていうのを期待したんだけどそうじゃあない。これは代入とはオブジェクトとはなんぞやということを改めて考えなければならないようだ。 オブジェクトIDを確認してみようと、下記を実行してみると、
a = [0,1,2,3]
a[3] = a
p a.object_id
p a[3].object_id
#=>
-605469308
-605469308
というのは本当によくできた話だと思った。当たり前といえば当たり前なんだろうけども、理解の浅い初心者にとってはなんともおどろきであり、また、なるほどそう来たか、とわくわくせざるを得ない。僕の右手が僕だとすれば、僕の右手はつねに僕と等しいわけだ。僕の右手は僕だからその僕の右手も僕なんだ。
すると興味はその計算をだれがどうやって、どういう順序でやったかってことにうつる。これって「せーの」でやらないとこういう答えって出ないと思うんだよね。「僕」の『右手』が「僕」になった瞬間その「「僕の『右手』の僕」の『右手』」も「僕」になっちゃうんだからさ。これってものすごく怪奇的で猟奇的なことだと思わない?

トラックバック(0)

このブログ記事を参照しているブログ一覧: 僕の右手が僕ならば

このブログ記事に対するトラックバックURL: http://jippenshar.com/igc/mt/mt-tb.cgi/185

コメントする

このブログ記事について

このページは、YNが2009年2月 8日 03:44に書いたブログ記事です。

ひとつ前のブログ記事は「Windows + VMware Player / FreeBSD7.1でデーモン君にあう ver.3」です。

次のブログ記事は「<blockquote>~</blockquote> / 引用部のCSSを変更」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

2009年12月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    


Firefox3 Meter
にほんブログ村 IT技術ブログ Linuxへ フィードメーター - 十返舎.com あわせて読みたいブログパーツ
QLOOKアクセス解析 問い合わせ info☆☆jippenshar.comまで ("☆☆"を@に置き換えてお願いします。)
Powered by Movable Type 4.22-ja LPIC2_Logo