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

From: Tanaka Akira <akr@...17n.org>
Date: 2002-06-07 06:27:46 UTC
List: ruby-dev #17353
In article <200206070615.g576F9f29792@sharui.nakada.kanuma.tochigi.jp>,
  nobu.nakada@nifty.ne.jp writes:

> ブロックがなくてもというのは同意しますが、一つのスコープで何度
> も同じ名前が再定義されてかつそれが別個に有効というのは、いくら
> なんでもややこし過ぎやしませんか。

関数型言語ではごく普通の話で、別にややこし過ぎるとは思いませんが。

Scheme で

(let ((x 1))
  (let ((plus1 (lambda (a) (+ a x))))
    (let ((x 2))
      (let ((plus2 (lambda (a) (+ a x))))
        (let ((x 3))
          (let ((plus3 (lambda (a) (+ a x))))
            ...))))))        

あるいは

(let* ((x 1)
       (plus1 (lambda (a) (+ a x)))
       (x 2)
       (plus2 (lambda (a) (+ a x)))
       (x 3)
       (plus3 (lambda (a) (+ a x))))
  ...)

あるいは Ocaml で

  let x = 1 in
  let plus1 = fun a -> a + x in
  let x = 2 in
  let plus2 = fun a -> a + x in
  let x = 3 in
  let plus3 = fun a -> a + x in
  ...

とか。まぁ、自明だとまではいいませんけど。

端的にいえば、それぞれの := や let がスコープを作るので一つのスコープ
ではないわけです。

ただ、Ruby だと if や while 内での変数定義が下に抜けるのでそのあたりは
問題ですね。

  x := 1
  lambda {
    if ...
      x := 2
    else
      x = 3
    end
    x = 4
  }
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)

In This Thread