[#14464] who uses Python or Ruby, and for what? — ellard2@...01.fas.harvard.edu (-11,3-3562,3-3076)

A while ago I posted a request for people to share their experiences

12 messages 2001/05/01

[#14555] Ruby as a Mac OS/X scripting language — Dave Thomas <Dave@...>

10 messages 2001/05/02

[#14557] Arggg Bitten by the block var scope feature!!! — Wayne Scott <wscott@...>

13 messages 2001/05/02

[#14598] Re: Arggg Bitten by the block var scope feature!!! — "Conrad Schneiker" <schneik@...>

# On Thu, 3 May 2001, Wayne Scott wrote:

9 messages 2001/05/03

[#14636] Yet another "About private methods" question — Eric Jacoboni <jacoboni@...2.fr>

I'm still trying to figure out the semantics of private methods in Ruby.

39 messages 2001/05/04
[#14656] Re: Yet another "About private methods" question — Dave Thomas <Dave@...> 2001/05/04

Eric Jacoboni <jaco@teaser.fr> writes:

[#14666] Ruby and Web Applications — "Chris Montgomery" <monty@...> 2001/05/04

Greetings from a newbie,

[#14772] Re: Ruby and Web Applications — Jim Freeze <jim@...> 2001/05/07

On Sat, 5 May 2001, Chris Montgomery wrote:

[#14710] Why's Ruby so slow in this case? — Stefan Matthias Aust <sma@3plus4.de>

Sure, Ruby, being interpreted, is slower than a compiled language.

12 messages 2001/05/05

[#14881] Class/Module Information — "John Kaurin" <jkaurin@...>

It is possible to modify the following code to produce

18 messages 2001/05/09

[#15034] Re: calling .inspect on array/hash causes core dump — ts <decoux@...>

>>>>> "A" == Andreas Riedl <viisi@chello.at> writes:

15 messages 2001/05/12

[#15198] Re: Q: GUI framework with direct drawing ca pabilities? — Steve Tuckner <SAT@...>

Would it be a good idea to develop a pure Ruby GUI framework built on top of

13 messages 2001/05/15

[#15234] Pluggable sorting - How would you do it? — "Hal E. Fulton" <hal9000@...>

Hello all,

16 messages 2001/05/16

[#15549] ColdFusion for Ruby — "Michael Dinowitz" <mdinowit@...2000.com>

I don't currently use Ruby. To tell the truth, I have no real reason to. I'd

12 messages 2001/05/22

[#15569] I like ruby-chan ... — Rob Armstrong <rob@...>

Ruby is more human(e) than Python. We already have too many animals :-).

15 messages 2001/05/23

[#15601] How to avoid spelling mistakes of variable names — ndrochak@... (Nick Drochak)

Since Ruby does not require a variable to be declared, do people find

13 messages 2001/05/23

[#15734] java based interpreter and regexes — "Wayne Blair" <wayne.blair@...>

I have been thinking about the java based ruby interpreter project, and I

48 messages 2001/05/25

[#15804] is it possible to dynamically coerce objects types in Ruby? — mirian@... (Mirian Crzig Lennox)

Greetings to all. I am a newcomer to Ruby and I am exploring the

13 messages 2001/05/27
[#15807] Re: is it possible to dynamically coerce objects types in Ruby? — matz@... (Yukihiro Matsumoto) 2001/05/27

Hi,

[#15863] Experimental "in" operator for collections — Stefan Matthias Aust <sma@3plus4.de>

There's one thing where I prefer Python over Ruby. Testing whether an

13 messages 2001/05/28

[#15925] Re: Block arguments vs method arguments — ts <decoux@...>

>>>>> "M" == Mike <mike@lepton.fr> writes:

43 messages 2001/05/29
[#16070] Re: Block arguments vs method arguments — "Hal E. Fulton" <hal9000@...> 2001/05/31

----- Original Message -----

[#16081] Re: Block arguments vs method arguments — Sean Russell <ser@...> 2001/05/31

On Thu, May 31, 2001 at 11:53:17AM +0900, Hal E. Fulton wrote:

[#16088] Re: Block arguments vs method arguments — Dan Moniz <dnm@...> 2001/05/31

At 11:01 PM 5/31/2001 +0900, Sean Russell wrote:

[#15954] new keyword idea: tryreturn, tryturn or done — Juha Pohjalainen <voidjump@...>

Hello everyone!

12 messages 2001/05/29

[ruby-talk:14630] Re: Arggg Bitten by the block var scope feature!!!

From: Renald Buter <buter@...>
Date: 2001-05-04 13:03:16 UTC
List: ruby-talk #14630
On Fri, May 04, 2001 at 02:46:00PM +0100, ruby-talk@ruby-lang.org wrote:
> On Fri, 4 May 2001, Marko Schulz wrote:
> 
> > On Fri, May 04, 2001 at 08:51:32AM +0900, David Alan Black wrote:
> > > On Fri, 4 May 2001, Conrad Schneiker wrote:
> > >
> > > > # On Thu, 3 May 2001, Wayne Scott wrote:
> > > > #
> > > > # >     #simplified for this discussion
> > > > # >     def fetch(arg2)
> > >
> > > [snip]
> > >
> > > > # >                  @cache.dup.each do |arg2, file|       ## (1)
> > >
> > > [snip]
> > >
> > > > # I don't know if the behavior should change but I think it should at
> > > > # least issue a warning if there is reuse like this.
> > > >
> > > > I think this is an important suggestion.
> > > >
> > > > Answers such as:
> > > >
> > > >   1) I should have known better.
> > > >   2) You should have known better.
> > > >   3) Here is a way around this.
> > > >   4) There is (or soon will be) a better feature to use.
> > > >   5) Once you know Ruby better, this won't be a problem for you.
> > > >
> > > > are all true to some degree, but are somewhat beside the point of accident
> > > > prevention in the cases that people are caught unawares.
> > >
> > > I certainly agree that this should not be warned about under -w.
> >
> > I certainly do not agree with you. This should be warned about under -w.
> 
> I think of -w things as things one should never do -- that is, I like
> all code to run clean under -w.  I have to admit that I don't think
> I've ever assigned to an existing variable with the |var| syntax.  But
> I'm not ready to say that there is no possible reason ever to do so.
> 
> I know we (communally) have been around the block (ha ha) on this.
> And I'm a little constrained in defending it, since Matz has said he
> wants to change it :-)  Still, what I don't get is: *if* one accepts
> that in "n = 0 ; ary.each do |n| ... end" one is doing a series of
> assignments to (existing) n, then why is it any more likely that one
> would *accidentally* reuse the name 'n' in such a case than in this
> case:
> 
>   def thing
>     n = 100
>     n = []    # whoops, should have used x, forgot I had an n
>   end
> 
> Should I get a warning there on that second assignment? I think we'd
> agree that in this case, the programmer is expected to take
> responsibility.  It seems to me, then, that in the block case, the
> confusion/mistake is only an issue if one does *not* accept that the
> syntax means what it means.  In other words, it is an assignment in
> current scope, so we should do what we usually do with assignments in
> current scope.
> 
> I know that block syntax comes with certain connotations which "x = y"
> syntax doesn't have, and I know I'm arguing this rigidly.  And I admit
> it's partly because I'm still hoping that |var| won't give way to
> <var>, which I really don't like the appearance of.  But it's only
> partly that :-)
> 

Being new to Ruby, I might completely misunderstand this issue, but for
what it's worth, I'll put my 2c into this discussion.

I think the '<>' syntax is intended to be somewhat akin to the Perl 'local'
directive?  That is, it show it will create a new variable exclusively in
the current scope? This is very useful, and could be thought of as an
explicit recognition of the programmer's intend to shadow a variable.

Since I think this is perfectly useful, like for example in:

	def method(ary)
	  n = nil 
	  ary.each { |n| ... }

	  unless defined n
	     $stderr.puts "warn: nothing in array"
	  else
	     $stderr.puts "last value in array was #{n}"
	end
	
Of course, this is a nonsensical example, since one could check the length
of the array beforehand --- but it is here only to illustrate my point.

Just ignore this if it makes no sense

Regards,

Renald

In This Thread

Prev Next