[#5218] Ruby Book Eng tl, ch1 question — Jon Babcock <jon@...>

13 messages 2000/10/02

[#5404] Object.foo, setters and so on — "Hal E. Fulton" <hal9000@...>

OK, here is what I think I know.

14 messages 2000/10/11

[#5425] Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...>

18 messages 2000/10/11
[#5427] RE: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — OZAWA -Crouton- Sakuro <crouton@...> 2000/10/11

At Thu, 12 Oct 2000 03:49:46 +0900,

[#5429] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...> 2000/10/11

Thanks for the input.

[#5432] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Yasushi Shoji <yashi@...> 2000/10/11

At Thu, 12 Oct 2000 04:53:41 +0900,

[#5516] Re: Some newbye question — ts <decoux@...>

>>>>> "D" == Davide Marchignoli <marchign@di.unipi.it> writes:

80 messages 2000/10/13
[#5531] Re: Some newbye question — matz@... (Yukihiro Matsumoto) 2000/10/14

Hi,

[#5544] Re: Some newbye question — Davide Marchignoli <marchign@...> 2000/10/15

On Sat, 14 Oct 2000, Yukihiro Matsumoto wrote:

[#5576] Re: local variables (nested, in-block, parameters, etc.) — Dave Thomas <Dave@...> 2000/10/16

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#5617] Re: local variables (nested, in-block, parameters, etc.) — "Brian F. Feldman" <green@...> 2000/10/16

Dave Thomas <Dave@thomases.com> wrote:

[#5705] Dynamic languages, SWOT ? — Hugh Sasse Staff Elec Eng <hgs@...>

There has been discussion on this list/group from time to time about

16 messages 2000/10/20
[#5712] Re: Dynamic languages, SWOT ? — Charles Hixson <charleshixsn@...> 2000/10/20

Hugh Sasse Staff Elec Eng wrote:

[#5882] [RFC] Towards a new synchronisation primitive — hipster <hipster@...4all.nl>

Hello fellow rubyists,

21 messages 2000/10/26

[ruby-talk:5499] Re: Some newbye question

From: matz@... (Yukihiro Matsumoto)
Date: 2000-10-13 07:22:45 UTC
List: ruby-talk #5499
Hi,

In message "[ruby-talk:5498] Re: Some newbye question"
    on 00/10/13, Aleksi Niemel<aleksi.niemela@cinnober.com> writes:

|>   (a) I don't like variable overriding, especially in declaration-less
|>       language like Ruby.
|
|It seems, matz, that you valuate variable non-overridingness more than
|symmetry in parameter handling, if I understood correctly?

In a word, yes.  I want block parameters be left side expression of
the assignment (or multiple assignment).  That's what expected be in
the beginning.

|> |   a = 1
|> |   proc { |a| a = 99 } .call
|> |   a		# => 99

|1  var a is created
    since this is the first appearance of a in the scope.
|2  a is set to refer to the object 1
|3  function proc is called with an associated block
|   block won't be executed yet
|4    variables in block's parameter list are created *if*
|     they do not exists in outer binding, that means 
|     |a| is not created because it exists, as it was 
|     created at 2
    yes, that's what the assignments do.
|5    a is set to refer to the object 99
|6  the proc's returning Proc object's method 'call' is
|   executed, which in turn executes the block passing
|   no arguments to it
    then, parameter assignment happens; a is assigned to nil
 7  the block body is executed, in which a is assigned to 99.

|Now I have a questions: why not bind the block's variables only at block's
|body? (not in the parameter list only)

So what will happen to `a'?  Will the variable `a' be an isolated from
outer `a'?

|I think it's really weird to think one's passing a parameter when actually
|the parameter has been already bound. 

Agreed.  That's why I said:

>It's one of the ugliest part of Ruby syntax, which I want to
>fix in the future if I found the way to fix.

In short, it's caused by my diversion of blocks as closures.  It works
fine most of the cases, but some flaw still remains.

							matz.

In This Thread

Prev Next