[ruby-list:38330] Re: シュールな名前

From: Yuji Asakawa <namu@...>
Date: 2003-09-01 06:48:09 UTC
List: ruby-list #38330
浅川です。

  初心者に、 Ruby を理解してもらうために、どう説明するべきか。有意義で
興味深い話題ですね。

Nakamura Akifumi <BXQ04723@nifty.ne.jp> 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


In This Thread