From: Yuji Asakawa Date: 2003-09-01T15:48:09+09:00 Subject: [ruby-list:38330] Re: シュールな名前 浅川です。 初心者に、 Ruby を理解してもらうために、どう説明するべきか。有意義で 興味深い話題ですね。 Nakamura Akifumi wrote: > どうなんだろう? > 「見えないこと」ってそんなに難しいことだろうか? > > つまり、口悪く言うならば、 > 「初心者をなめてる」恐れすら、有り得るんじゃないか? > というのが心配だったりします。 対象とする、初心者のレベルによると思うのですが、『Ruby の冒険』が対 象にしている初心者は、以下のプログラムを、「難しそう、分らない、飛ばし てしまおう」 (『Ruby の冒険 旅立ち篇』p17より) と思うレベルなので、 --------------------------------------------------- #!ruby -Ks #-- Hello_01.rb require "phi" require "dialogs" second,minute,hour = Time.now.to_a case hour when 6..10 ; s = "おはよう Ruby!" when 11..17 ; s = "こんにちは Ruby!" when 18..21 ; s = "こんばんは Ruby!" when 22..23 ; s = "そろそろ寝よう Ruby.." else ; s = "こんな時間に? Ruby??" end s << "\n\n今 #{hour}時#{minute}分#{second}秒です" Phi.message_dlg( s , Phi::MT_CUSTOM, [Phi::MB_OK] ) -----『Ruby の冒険 旅立ち篇』p16, 17より----------- その様な人に、このプログラムの挙動を説明する時に、オブジェクト空間の存 在から説明するのは、酷な気がします。 > ところで、じゃあ箱モデルだったらオブジェクトが > 「見える」のか?というと、それもまた只の幻想じゃないかな。 確かに、幻想かもしれませんが、上記のプログラムを眺めた時に s や hour に対して、 = や << が働きかけている様に見えるのも確かなので、その中に オブジェクトが隠れている、という方が、 s や hour は名札に過ぎない、と いうよりも、直感的に理解しやすいのではないでしょうか。 > 「見えないのをいいことに、初心者に嘘教えるなよ」と > (口悪く言えば)言えてしまうんじゃないかな。 初心者に物を教える時には、興味を持続させるために、騙し賺して判った気 にさせる、ということも必要な場合があると思いますし、この場合は、それに あたると思うのです。 p.s. 上記のプログラムは、インデントをしていなかったり、敢えてマルチステー トメントを使ったりしていて、コーディングスタイルとしては、良いお手本と はいい難い物ですが、それがみな、初心者に対する配慮であることからも、 たけ (tk) さんの戦略がうかがえる気がします。 ---------- *namu*(Yuji Asakawa) namu@venus.dti.ne.jp