[#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:14627] Re: Arggg Bitten by the block var scope feature!!!

From: David Alan Black <dblack@...>
Date: 2001-05-04 12:46:47 UTC
List: ruby-talk #14627
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 :-)


David

-- 
David Alan Black
home: dblack@candle.superlink.net
work: blackdav@shu.edu
Web:  http://pirate.shu.edu/~blackdav


In This Thread