[#13775] Problems with racc rule definitions — Michael Neumann <neumann@...>

15 messages 2001/04/17
[#13795] Re: Problems with racc rule definitions — Minero Aoki <aamine@...> 2001/04/18

Hi,

[#13940] From Guido, with love... — Dave Thomas <Dave@...>

52 messages 2001/04/20

[#13953] regexp — James Ponder <james@...>

Hi, I'm new to ruby and am coming from a perl background - therefore I

19 messages 2001/04/21

[#14033] Distributed Ruby and heterogeneous networks — harryo@... (Harry Ohlsen)

I wrote my first small distributed application yesterday and it worked

15 messages 2001/04/22

[#14040] RCR: getClassFromString method — ptkwt@...1.aracnet.com (Phil Tomson)

It would be nice to have a function that returns a class type given a

20 messages 2001/04/22

[#14130] Re: Ruby mascot proposal — "Conrad Schneiker" <schneik@...>

Guy N. Hurst wrote:

21 messages 2001/04/24
[#14148] Re: Ruby mascot proposal — Stephen White <spwhite@...> 2001/04/24

On Tue, 24 Apr 2001, Conrad Schneiker wrote:

[#14188] Re: Ruby mascot proposal — matz@... (Yukihiro Matsumoto) 2001/04/25

Hi,

[#14193] Re: Ruby mascot proposal — "W. Kent Starr" <elderburn@...> 2001/04/25

On Tuesday 24 April 2001 23:02, Yukihiro Matsumoto wrote:

[#14138] Re: python on the smalltalk VM — Conrad Schneiker <schneik@...>

FYI: Thought this might be of interest to the JRuby and Ruby/GUI folks.

27 messages 2001/04/24
[#14153] Re: python on the smalltalk VM — Andrew Kuchling <akuchlin@...> 2001/04/24

Conrad Schneiker <schneik@austin.ibm.com> writes:

[#14154] array#flatten! question — Jim Freeze <jim@...> 2001/04/24

Hello.

[#14159] Can I insert into an array — Jim Freeze <jim@...> 2001/04/24

Ok, this may be a dumb question, but, is it possible to insert into an

[#14162] Re: Can I insert into an array — Dave Thomas <Dave@...> 2001/04/24

Jim Freeze <jim@freeze.org> writes:

[#14289] RCR: Array#insert — Shugo Maeda <shugo@...> 2001/04/27

At Wed, 25 Apr 2001 01:28:36 +0900,

[#14221] An or in an if. — Tim Pettman <tjp@...>

Hi there,

18 messages 2001/04/25

[#14267] Re: Ruby mascot proposal — "Conrad Schneiker" <schneik@...>

Danny van Bruggen,

16 messages 2001/04/26

[#14452] How to do it the Ruby-way 3 — Stefan Matthias Aust <sma@3plus4.de>

First a question: Why is

21 messages 2001/04/30

[ruby-talk:14434] Re: || .. or Question

From: Michael Neumann <neumann@...>
Date: 2001-04-30 09:08:33 UTC
List: ruby-talk #14434
Marko Schulz wrote:
> On Fri, Apr 27, 2001 at 11:26:35PM +0900, Yukihiro Matsumoto wrote:
> > Hi,
> > 
> > In message "[ruby-talk:14299] Re: || .. or Question"
> >     on 01/04/27, Marko Schulz <in6x059@public.uni-hamburg.de> writes:
> > 
> > |> Simply precedence reason.  In Ruby, statements are expressions that
> > |> can't be fit in argument list. 
> > |
> > |Does this mean, that Ruby has an 'list operator' similar to perl with
> > |precedence between '||' and 'or'? Otherwise I still don't understand
> > |how precedence comes in here.
> > 
> > No, no "list operator".  But it's little bit too complicated for me to
> > explain in English (sorry).  Would somebody explain for him?
> 
> I didn't meant that there actually is a list operator. I just cannot
> understand how precedence within an expression determines whether
> something is an expression or not. More conrete it looks odd to me
> that 
>   'puts (n==3 or n==5)' seems to be interpreted as 'puts ((n==3 or) n==5)'
> while
>   'puts (n==3 || n==5)' seems to be interpreted as 'puts ((n==3 || n==5))'


After looking at parse.y:

There's a difference between expressions "expr" and function arguments "arg".
Function arguments are not expressions, but arguments.


expr : expr kOR expr
     .
     | arg


arg  : arg tOROP arg
     .
     .
     | primary
 

So in expressions, both "or" and "||" are handled, whereas in function arguments, 
there is only "||". If you put parenthesis around "n==3 or n==5" then it is handled as
"primary". But the method call itself consumes the first parenthesis after the method name.
A primary can contain an expression surrounded by parenthesis.  
So "puts (n==3 or n==5)" is the same as "puts n==3 or n==5", because the parenthesis 
belong to "puts".
 

Regards

Michael


-- 
Michael Neumann
merlin.zwo InfoDesign GmbH
http://www.merlin-zwo.de

In This Thread

Prev Next