まつもと ゆきひろです.

In message "[ruby-list:2052] Methods.htm 作成 tool"
    on 97/02/04, (Dezawa Shin-ichiro) <dezawa / miya.fujifilm.co.jp> writes:
|
|[1  <text/plain; iso-2022-jp (7bit)>]
|出沢です

ちょっと機能アップしてますね.良いことだ.

しかし,

|    { token[3] = "Enum" , mdl="incModule" }  if token[3] == "Enumerable"
|    { token[3] = "Compar", mdl="incModule" } if token[3] == "Comparable"

これはちょっとまずいですねえ.動作はするでしょうけど,こうい
うことができると思っちゃう人が出そうで.これは

  条件が成立する時 { } の中を実行する

ようにみえますが,*違います*.これがやっていることは

  条件が成立する時にHashを生成する

です.生成時に式の評価を行いますから結果的に { } の中を実行
しているだけです.問題は

  * 無駄な連想配列が生成される
  * 式は偶数個でないとエラーが出る
  * 式しか置けない(文が置けない)

などです.こうことがやりたい場合は

    ( token[3] = "Enum" ; mdl="incModule" )  if token[3] == "Enumerable"

とか,

    begin token[3] = "Enum" ; mdl="incModule" end if token[3] == "Enumerable"

とか

    if token[3] == "Enumerable" then token[3] = "Enum" ; mdl="incModule" end 

とかが良いでしょう.
                                まつもと ゆきひろ /:|)