[#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:5479] Some newbye question

From: Davide Marchignoli <marchign@...>
Date: 2000-10-12 21:37:36 UTC
List: ruby-talk #5479
I am reading the documentation I found about ruby but several points
remain uclear to me.

In FAQ 2.2 the following code is used as example for:

a = 0
for i in 1..3 do
  a += i
  b = i*i
end
print a, b

is used as example for the following text:

"A block (``{'' ... ``}'' or do ... end) almost introduces a new scope ;-)
Locals created within a block are not accessible outside the block.
However, if a local within the block has the same name as an existing
local variable in the caller's scope, then no new local is created, and
you can subsequently access that variable outside the block."

Even if both a and b remain accessible after the block. So when does a
block create a new scope?

Which is the rationale of the fact that block variables are non-binding
if some variable with the same name already exists ? Isn't it confusing?
What is supposed to do the following fragment of code?

a = 1 ; x = 1 ; f = proc {|a| a += 1}
f.call(x)

Why the two following (admittedly contrived) computations give different
results ?

a = 1 ; x = 1 ; f = proc {|a| a += 1}
f.call(x)
f.call(a)
a # results in 2

a = 1 ; x = 1 ; f = proc {|a| a += 1}
f.call(a)
f.call(x)
a # results in 3

Are the following statement equivalent?

p() if (b1 and b2)
p() if (b1 && b2)

If so, why are operators `and', `or' needed? 

Sorry for the length of this mail and thanks in advance for any possible
answer.

					Davide Marchignoli


In This Thread

Prev Next