なかだです。

At Fri, 21 Jun 2002 17:42:27 +0900,
Shin-ichiro HARA wrote:
> '!' で終わる変数をブロックローカルにするのは?

a!=0が代入なのか比較なのかが分かりづらくないでしょうか。

> (5)定義済みローカル変数に対する := は = と同値。

引用が前後しますが、ここでいうローカル変数というのはメソッドス
コープ、ブロックローカルでない変数のことでしょうか。

> (3):= がアクセスする定義済みブロックローカル変数は、外で最も近いもの。

個人的には、:=は新しくブロックローカル変数を作らない代入、のほ
うがいいように思います。

> x! = 0
> foo {
>    x! = 1
>    x! := 10
>    p x! #=> 1
          #=> 10
>    foo {
>      foo {
>        x! := 3
>      }
>      p x! #=> 3
>    }
>    p x! #=> 3
> }
> p x! #=> 10
       #=> 0
> # x! := -1 #=> NG
             #=> x! == -1

同じスコープ同じ名前で別のものを指すというのは、あまり嬉しくな
いような気がします。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦