[#17276] blocks and local variables — Takaaki Tateishi <ttate@...>

立石です.

127 messages 2002/06/02
[#17283] Re: blocks and local variables — matz@... (Yukihiro Matsumoto) 2002/06/02

まつもと ゆきひろです

[#17294] Re: blocks and local variables — Takaaki Tateishi <ttate@...> 2002/06/03

At Mon, 3 Jun 2002 06:26:56 +0900,

[#17298] Re: blocks and local variables — matz@... (Yukihiro Matsumoto) 2002/06/03

まつもと ゆきひろです

[#17332] Re: blocks and local variables — nobu.nakada@... 2002/06/06

なかだです。

[#17336] Re: blocks and local variables — matz@... (Yukihiro Matsumoto) 2002/06/07

まつもと ゆきひろです

[#17337] Re: blocks and local variables — nobu.nakada@... 2002/06/07

なかだです。

[#17338] Re: blocks and local variables — matz@... (Yukihiro Matsumoto) 2002/06/07

まつもと ゆきひろです

[#17339] Re: blocks and local variables — Tanaka Akira <akr@...17n.org> 2002/06/07

In article <1023423387.175193.27185.nullmailer@picachu.netlab.jp>,

[#17347] Re: blocks and local variables — Takaaki Tateishi <ttate@...> 2002/06/07

At Fri, 7 Jun 2002 13:23:37 +0900,

[#17352] Re: blocks and local variables — matz@... (Yukihiro Matsumoto) 2002/06/07

まつもと ゆきひろです

[#17404] Re: blocks and local variables — "K.Kosako" <kosako@...> 2002/06/12

Yukihiro Matsumotoさんの

[#17411] Re: blocks and local variables — matz@... (Yukihiro Matsumoto) 2002/06/12

まつもと ゆきひろです

[#17518] Re: blocks and local variables — "K.Kosako" <kosako@...> 2002/06/19

Yukihiro Matsumotoさんの

[#17521] Re: blocks and local variables — nobu.nakada@... 2002/06/19

なかだです。

[#17524] Re: blocks and local variables — "K.Kosako" <kosako@...> 2002/06/19

nobu.nakada@nifty.ne.jpさんの

[#17528] Re: blocks and local variables — matz@... (Yukihiro Matsumoto) 2002/06/20

まつもと ゆきひろです

[#17459] Re: blocks and local variables — NISHIO Mizuho <gha@...> 2002/06/16

どうも西尾です。

[#17460] Re: blocks and local variables — nobu.nakada@... 2002/06/16

なかだです。

[#17462] Re: blocks and local variables — Takaaki Tateishi <ttate@...> 2002/06/16

At Sun, 16 Jun 2002 10:40:40 +0900,

[#17464] Re: blocks and local variables — nobu.nakada@... 2002/06/16

なかだです。

[#17367] Ruby bcc32 on Win32 版のコミットについて — 小西 弘将 <konishih@...6.so-net.ne.jp>

小西 弘将です。

17 messages 2002/06/10
[#17368] Re: Ruby bcc32 on Win32 版のコミットについて — matz@... (Yukihiro Matsumoto) 2002/06/10

まつもと ゆきひろです

[#17369] Re: Ruby bcc32 on Win32 版のコミットについて — 小西 弘将 <konishih@...6.so-net.ne.jp> 2002/06/11

 小西 弘将です。

[#17370] Re: Ruby bcc32 on Win32 版のコミットについて — "U.Nakamura" <usa@...> 2002/06/11

こんにちは、なかむら(う)です。

[#17421] broken string when unterminated "#{". — WATANABE Hirofumi <eban@...>

わたなべです。

43 messages 2002/06/13
[#17422] Re: broken string when unterminated "#{". — matz@... (Yukihiro Matsumoto) 2002/06/13

まつもと ゆきひろです

[#17423] Re: broken string when unterminated "#{". — Tanaka Akira <akr@...17n.org> 2002/06/13

In article <1023943870.232495.9282.nullmailer@picachu.netlab.jp>,

[#17425] Re: broken string when unterminated "#{". — matz@... (Yukihiro Matsumoto) 2002/06/13

まつもと ゆきひろです

[#17426] Re: broken string when unterminated "#{". — Tanaka Akira <akr@...17n.org> 2002/06/13

In article <1023945463.297286.10112.nullmailer@picachu.netlab.jp>,

[#17439] Re: broken string when unterminated "#{". — nobu.nakada@... 2002/06/13

なかだです。

[#17440] Re: broken string when unterminated "#{". — matz@... (Yukihiro Matsumoto) 2002/06/13

まつもと ゆきひろです

[#17442] Re: broken string when unterminated "#{". — Tanaka Akira <akr@...17n.org> 2002/06/14

In article <1023987024.717469.15784.nullmailer@picachu.netlab.jp>,

[#17530] Re: broken string when unterminated "#{". — nobu.nakada@... 2002/06/21

なかだです。

[#17532] Re: broken string when unterminated "#{". — matz@... (Yukihiro Matsumoto) 2002/06/21

まつもと ゆきひろです

[#17539] Re: broken string when unterminated "#{". — Tanaka Akira <akr@...17n.org> 2002/06/21

In article <1024642728.541545.22623.nullmailer@picachu.netlab.jp>,

[#17540] Re: broken string when unterminated "#{". — matz@... (Yukihiro Matsumoto) 2002/06/21

まつもと ゆきひろです

[#17541] Re: broken string when unterminated "#{". — nobu.nakada@... 2002/06/21

なかだです。

[#17430] return value from methods of Array's subclass — "Shin'ya Adzumi" <adzumi@...>

あづみです。

12 messages 2002/06/13

[#17446] ternary operator and char literal (Re: parse error with `true || break ? 0 : 1' (PR#261)) — nobu.nakada@...

なかだです。

13 messages 2002/06/15
[#17454] Re: ternary operator and char literal (Re: parse error with `true || break ? 0 : 1' (PR#261)) — matz@... (Yukihiro Matsumoto) 2002/06/15

まつもと ゆきひろです

[#17461] Re: ternary operator and char literal (Re: parse error with `true || break ? 0 : 1' (PR#261)) — nobu.nakada@... 2002/06/16

なかだです。

[#17513] __END__ in literal — nobu.nakada@...

なかだです。

17 messages 2002/06/18
[#17516] Re: __END__ in literal — matz@... (Yukihiro Matsumoto) 2002/06/18

まつもと ゆきひろです

[ruby-dev:17509] Re: blocks and local variables

From: Takaaki Tateishi <ttate@...>
Date: 2002-06-18 05:16:57 UTC
List: ruby-dev #17509
立石です.

# このメールでは,局所変数だけに絞って書きます.
# インスタンス変数などのことは全く考慮していません.

At Tue, 18 Jun 2002 12:51:39 +0900,
Yukihiro Matsumoto wrote:
> |>   * なぜ分かりにくくなっているのか
> |
> |明示的な宣言がないことではないでしょうか?
> |そのため,どこで宣言されるのか分かり難いということだと思います.
> 
> えーと、これは「ネストするブロックローカルな変数に関しては」
> という意味ですよね。変数の明示的な宣言がないこと一般であれば、
> それはRubyの特徴のひとつであるので譲れませんから。

はい,これを否定する考えは全くないです.

宣言がないことをどうカバーするのかという解の一つが,ユーザが変数
の有効範囲を探すのにもっとも楽なものにすれば良いのではないかと思
っていて,楽にするためには探す範囲をより狭めれば良いと…

> 「よりスコープの範囲が短い方が見やすい」のあたりからよく分か
> らなくなってしまいました。いや、メリットは分からないでもない
> んですが、それだけでは過去の互換性を捨てるほどのメリットに思
> えないんですけど。

「スコープの範囲が短い方が見やすい」の後は気にしないで下さい.文章
に入れない方がよかったと後悔しています.

互換性を捨てるほどのメリットはないと思いますが,自然だとも思います.
ブロックを作るということは,それで一まとまりの思考の単位だと思います.
変数をブロックローカルに制限することで,ブロックの中だけを考えてプロ
グラムすることができます.

見やすく自然な方を採るか,互換性を採るかを考えると,互換性への影響が
微量ならば見やすく自然な方を採るのが良いと考えます.
そして,パラメータについては,どの程度のプログラムが影響してくるかを見
積もるということで調査の結果が参考になると思います.

ただ,以下にあるように,

> ブロックパラメータをブロックにローカルにするだけでは、ブロッ
> クローカル変数の問題は解決しないのですが、その辺はどう考えて
> いますか?

ブロック内変数についてもこの考えを適用してしまうと,互換性がなくなる
ものが非常に多いですし,ブロック外への代入を実現する直観的な方法がな
いと,プログラムし易いとは言えなくなります.そのため,現状維持が良い
のかなとなんとなく思っています.

どこかのバージョンで大きく仕様変更して,すべてローカルというのも良い
ですが,さすがに1.xではあまりして欲しくないなというのが本音です.
1.xでは上のブロック内変数にアクセスするというみせかけだけの文法を用意
して,現状維持も良いかもしれないと今ちょっとだけ思っています.

:= のような「常に宣言して代入」という案は,結局宣言を明示していること
になりますから先の宣言を明示したくないという思想を考えるとあまり賛成
も反対もできないというくらいです.
-- 
Takaaki Tateishi <ttate@kt.jaist.ac.jp>

In This Thread