[#30220] schedule for Ruby 1.8.6 — "Akinori MUSHA" <knu@...>

 ruby-core を読んでいない人もいると思うので、ここでもアナウンス

20 messages 2007/01/30

[ruby-dev:30164] Re: := operator

From: SASADA Koichi <ko1@...>
Date: 2007-01-23 04:03:23 UTC
List: ruby-dev #30164
 ささだです。

Yukihiro Matsumoto wrote:
> | [Ruby] local variables new scoping rule
> | http://www.rubyist.net/~matz/20070112.html#p04
> |
> |を読んだのですが、|foo; bar| 以外に := としてブロックローカルな変数を宣
> |言する方法を用意する必要性がよくわかりませんでした。
> 
> たぶん、|foo; bar|はなくなるんじゃないかと。特定の場所でしか
> 許されない宣言は個人的にあまり好きじゃないし、醜い気がするし。

 同意します。

> | うーん、そうなんですかねぇ。限定された用途のために、:= という記号が増
> |えるほうがめんどくさい(覚えるのが)と思います。
> 
> 「覚えるのがめんどくさい」はRubyのデザインではあまり重視され
> ません。

 うーん。せめて var a のほうが、個人的にはいいんですが。Ruby 的にはそっ
ちのほうがキモイかな。


> | 例えばこの場合って何が返るんでしょう。JavaScript的には1、C++的には2、
> |大穴は4。
> 
> 超大穴、エラー、と言いたいところですが、正解は
> 
>   2
> 
> ですね。しかし、JavaScriptはおかしいよね。

 これは納得しました。やっぱり、ブロックローカル変数の「宣言」が何らかの
形で必要になっちゃうってことですよね。

-- 
// SASADA Koichi at atdot dot net


In This Thread