[#1263] Draft of the updated Ruby FAQ — Dave Thomas <Dave@...>

33 messages 2000/02/08

[#1376] Re: Scripting versus programming — Andrew Hunt <andy@...>

Conrad writes:

13 messages 2000/02/15

[#1508] Ruby/GTK and the mainloop — Ian Main <imain@...>

17 messages 2000/02/19
[#1544] Re: Ruby/GTK and the mainloop — Yasushi Shoji <yashi@...> 2000/02/23

Hello Ian,

[#1550] Re: Ruby/GTK and the mainloop — Ian Main <imain@...> 2000/02/23

On Wed, Feb 23, 2000 at 02:56:10AM -0500, Yasushi Shoji wrote:

[#1516] Ruby: PLEASE use comp.lang.misc for all Ruby programming/technical questions/discussions!!!! — "Conrad Schneiker" <schneiker@...>

((FYI: This was sent to the Ruby mail list.))

10 messages 2000/02/19

[#1569] Re: Ruby: constructors, new and initialise — Yukihiro Matsumoto <matz@...>

The following message is a courtesy copy of an article

12 messages 2000/02/25

[ruby-talk:01298] Re: Draft of the updated Ruby FAQ

From: Dave Thomas <Dave@...>
Date: 2000-02-10 15:26:17 UTC
List: ruby-talk #1298
Clemens Hintze <clemens.hintze@alcatel.de> writes:

> > We thought long and hard about this (and the jury's still
> > out). Although there _is_ a distinction between A#s and A.s, is it
> > significant to the end user? The normal convention is to show by
> > example, so we felt that Proc.new was better--it shows both the name
> > _and_ how to call it. IF we put Proc#new, we were worried people would 
> > actually write it that way, and then bitch when they got syntax
> > errors.
> 
> Good point for 'Proc.new'! But what is with 'Proc.call'? This was my
> initial reason to propose the '<class>#<method>' syntax!

The FAQ may not be consistent here, but the approach we've taken other 
places is to document these as (say) aProc.call, using an object
instance to proxy for the receiver. There are a couple of different
scenarios, though:

1. You're trying to show the calling sequence. Here you really have no 
   choice. You can't use '#', because you must have runnable code
   (after all, you're trying to show the syntax). So, we'd show

      aProc.call( args... )  -> anObject

   normally using a typographic convention to distinguish the fixed
   thing (call in this instance) from the placeholders.

2. You're making a nominative reference (Proc.[] is a synonym for
   Proc.call). Here you _do_ have a choice, and I can see some merit
   in your notation (Proc#[] is a synonym for Proc#call). As I said
   previously, the jury is still out, but I think we're leaning
   towards deciding that the '#' notation is more confusing, and is
   distracting to the reader.

However, we do have a real interest in what people think about this.

Does anyone have any opinions?


Dave




-- 
Thomas Consulting.
Innovative and successful developments with Unix, Java, C, and C++. 

Now in bookstores:
 The Pragmatic Programmer.  www.pragmaticprogrammer.com/ppbook/

In This Thread