[#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:17581] Re: blocks and local variables

From: Shin-ichiro HARA <sinara@...>
Date: 2002-06-25 04:32:21 UTC
List: ruby-dev #17581
原です。

>なかだです。

> > '!' で終わる変数をブロックローカルにするのは?
>
>a!=0が代入なのか比較なのかが分かりづらくないでしょうか。

確かに。ただ実際に a! という変数名を(非公式にたまたま)許して
いた時期があり、それを復活させようという魂胆でした。でも、メソ
ッド名における ! とあまりにかけ離れてはいますね。

> > (5)定義済みローカル変数に対する := は = と同値。
>
>引用が前後しますが、ここでいうローカル変数というのはメソッドス
>コープ、ブロックローカルでない変数のことでしょうか。

ああ、だいたいそういう意味です。今までのローカル変数をローカル
変数と呼んでいました。新しいブロックローカルな変数をブロックロ
ーカル変数と呼んでいました。

> > (3):= がアクセスする定義済みブロックローカル変数は、外で最も近いもの。
>
>個人的には、:=は新しくブロックローカル変数を作らない代入、のほ
>うがいいように思います。

他の言語で := は代入 = は等しい事を表す述語、というのがあります
から、確かにちょっと違和感ありますね。しかし、= は Ruby における
ノーマルな、無徴な代入、:= は有徴な代入程度の意味で、悪くない気
もするのです。

というか、見た目というなら、見た目を別のものにしたらいい。

つまり、本質は「(新しい)ブロックローカル変数には特別な記号を
使い、外の代入にまた特別な記号を使う」という事です。この例では
(!,:=)だったけど例えば、(%,.=)とか、(\,=>)とか、
(:,====)とか、パーサの変更が難しくないものを選べばいい。

#上記のが「難しくない」かどうかは知りません。

試しに(%,.=)にしてみると

%x = 0
foo {
    %x = 1
    %x .= 10
    p %x #=> 1
    foo {
      foo {
        %x .= 3
      }
      p %x #=> 3
    }
    p %x #=> 3
}
p %x #=> 10

うむ、かなり拒絶感は減る。


>同じスコープ同じ名前で別のものを指すというのは、あまり嬉しくな
>いような気がします。

確かに %x まで見ただけではそれが何を指すか分からなくて、次が = 
なのか := なのかまで見ないといけないのは、ちょっと気持ちわるい
ですね。もっとも Ruby ユーザは .foo があったら次に = があるか
否か見るまで評価を保留する訓練をしているので、すぐ馴れるかも。
... 話が違う?

というか同じ変数名に = と .= 両方したがる状況というのがよっぽ
どの事である、あるいはめったに無い事なので、あまり気にしなく
てもいいのでは。あるいは両方は警告または禁止してもいいと思いま
す。その辺は詰めてないのでして。

In This Thread