わたなべです。

Tanaka Akira <akr / m17n.org> writes:

> 現在の
> 
> if xxx
>   v = 1
> else
>   p v
> end
> 
> がエラーにならないのに、ひっくり返した
> 
> if !xxx
>   p v
> else
>   v = 1
> end
> 
> が(xxx の結果によって)エラーになるとか、
> 
> p v if v = (...)
> 
> が使えないとかは不条理だと感じます。

定義してない変数を参照したのでエラーになって当然だと思います。

> ついでにいえば、おそらく、この仕様
> が良いという理由は存在しないんじゃないかと思っています。

実行されようがされまいが、字面で静的に判断できるのですごく単
純という利点があります。

> なお、ブロックやループに関しては微妙な点があって「初期化されない可能性
> がある」場合を全てエラーにするのは無理があるのも事実で、少し緩めたあた
> りがおとしどころかもしれませんが。

それはそれで難しいルールになりませんか?

-- 
わたなべひろふみ
単に多用してるので変えて欲しくないというか