[#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:8480] Re: scope of local variables

From: Takao KAWAMURA <kawamura@...>
Date: 1998-06-23 10:59:14 UTC
List: ruby-list #8480
In message "[ruby-list:8474] Re: scope of local variables"
    on 98/06/23, Yukihiro Matsumoto <matz@netlab.co.jp> writes:
>   後者では x が最初に代入された場所がブロックの内部なので,x
>   はブロック内ローカル変数だとみなされた

ここでいうブロックはeachイテレータのブロックということですよ
ね? ifがスコープを作るわけではないですよね?

> で,後者の場合2回目のループでは条件が成立しないので代入が行
> われないことになります.代入されていないローカル変数の値は
> nilですから,後者の実行結果は川村さんが疑問に思われたような
> 挙動になるわけです.

イテレータ内の変数って、一度ループを回るごとに未定義状態にな
るのでしょうか。毎回yieldされることを考えると当然そうなのか
な。

>   「普通の」ローカル変数は先頭で代入(宣言)しておく
> 
> という「ローカル変数のオキテ」に従うことを強くお勧めします.

そうなのですか…。rubyは宣言しなくていいから楽だなあと思って
いたのですが。だけど、配列とかハッシュだとどうせ宣言しないと
いけないし、宣言することで統一すればいいのかな。

>   Thread固有変数
>   手続きオブジェクト固有変数
> 
> などのために必要なものです.

なるほど。後者はまだこれから勉強しないとわからないのですが、
前者の意味はわかります。

> なお,rubyの変数の種別はそのスコープに代入(宣言)が存在するか
> どうかで決まり,代入が実行されるかどうかには関係ないという大
> 切な原則を覚えておいて下さい.rubyは動的な言語のワリにはそう
> いう静的な部分も持ってます.

まったく誤解していました。実行されるかどうかに依存すると。うー
む、rubyって奥が深いというか、私はあんまりわかっていないなあ。
いつになったら片想い状態から脱っせるのかなあ。

-- 
川村 尚生

In This Thread