[#8257] Re: Smalltalk [Re: design patterns] — 助田 雅紀 <masaki.suketa@...>

助田です。

11 messages 1998/06/09
[#8259] Re: Smalltalk [Re: design patterns] — KIMURA Koichi <kkimura@...> 1998/06/10

[#8262] TkGrid do not exist? — Hiramatu Yoshifumi <hiramatu@...>

平松です。

26 messages 1998/06/10
[#8266] Re: TkGrid do not exist? — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#8269] Re: TkGrid do not exist? — NAGAI Hidetoshi <nagai@...> 1998/06/10

永井@知能.九工大です.

[#8271] Re: TkGrid do not exist? — NAGAI Hidetoshi <nagai@...> 1998/06/10

永井@知能.九工大です.

[#8375] new MethodIndex — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

21 messages 1998/06/16
[#8447] new MethodIndex — TEI meiki <tei@...> 1998/06/20

こんにちは、鄭です。

[#8448] new MethodIndex — TEI meiki <tei@...> 1998/06/20

再び、鄭です。_o_

[#8418] how to use delegate — gotoken@... (GOTO Kentaro)

ごとけんです

18 messages 1998/06/18
[#8419] Re: how to use delegate — matz@... (Yukihiro Matsumoto) 1998/06/19

まつもと ゆきひろです

[#8420] Re: how to use delegate — gotoken@... (GOTO Kentaro) 1998/06/19

ごとけんです

[#8421] Re: how to use delegate — matz@... (Yukihiro Matsumoto) 1998/06/19

まつもと ゆきひろです

[#8521] hash sort — "Kazuhiro Yoshida" <s95l980@...>

もりきゅうです。

34 messages 1998/06/26
[#8523] hash sort — gotoken@... (GOTO Kentaro) 1998/06/26

ごとけんです

[#8533] Re: hash sort — WATANABE Hirofumi <watanabe@...> 1998/06/26

わたなべです.

[#8534] Re: hash sort — gotoken@... (GOTO Kentaro) 1998/06/26

ごとけんです

[#8536] Re: hash sort — Sinichiro Dezawa <dezawa@...> 1998/06/26

出沢です

[#8538] Re: hash sort — gotoken@... (GOTO Kentaro) 1998/06/26

ごとけんです

[#8539] Re: hash sort — TAKAHASHI Masayoshi <maki@...> 1998/06/26

高橋です。

[#8541] Re: hash sort — gotoken@... (GOTO Kentaro) 1998/06/26

ごとけんです

[#8546] Re: hash sort — Tadayoshi Funaba <tadf@...> 1998/06/26

ふなばです。

[ruby-list:8520] Re: scope of local variables

From: TEI meiki <tei@...>
Date: 1998-06-25 18:59:19 UTC
List: ruby-list #8520
鄭です。

まつもとさん、前田さん、フォローありがとうございます。

Yukihiro Matsumoto writes:
 > |イテレータブロックの引数も、ローカル変数なんですよね。
 > 
 > というか,代入の左辺だと思って下さい.ここには大域変数,イン
 > スタンス変数をはじめとして,左辺値として代入できるものならな
 > んでも置けます(定数は置けませんが).

なるほど、マニュアルを読み返して見たら、イテレータは制御構造の節で
説明されていますね。
C言語の 
	int i;
        ....
        for( i = 0; i < 10; i++ ) { ... }
を思い浮かべて納得しました。
(初出のローカル変数は、ブロック内にローカルになるから、むしろ C++ を
  思い浮かべたほうが、似てるかな、、、)

 > そうそう,わたしは |a, b| のようなのを最近はブロックパラメー
 > タと呼ぶことにしてます.
 > 
 > |独白:
 > |  もしもイテレータブロックの引数はイテレータブロック内で新たに定義された
 > |  ローカル変数である、、という言語仕様にしたら他に悪影響が有るのかな?
 > 
 > いろいろあるでしょうね.もし変更するのでも十分な議論の上でな
 > いと.そーゆー話を本気でするならruby-devに移動しますが.

私が、引っかかっていたのは、「引数」と呼ばれていたので、C言語の
関数への値渡しの引数を連想していたためです。
イテレータブロックを、無名の関数と見なしていたんですね。実際 イテレータの
中から、yield で関数的に呼べれますし。

ブロックパラメータと呼ぶのも、引数と同じくらい紛らわしい気がします。(^^;
(代案を思い付かなくて、ただ文句言っているみたいでもうしわけないですが。)

あ、、でも、手続きオブジェクトは、名前のない関数ってマニュアルに
書いてあるなぁ、、、
うーん、ここらへん、なんだか、まだよくわかっていない。(^^;
いずれ、また質問すると思います。よろしく。_o_

いずれにしろ、「イテレータブロックの引数はイテレータブロック内で
新たに定義されたローカル変数であるという仕様...」は、勘違いの
たわごとです、忘れて下さい。

-- 
                         ┌─鄭  明毅───────────────────┐
                         └──tei@harmony.co.jp──tei@mirage.linc.or.jp─┘

In This Thread