[#4766] Wiki — "Glen Stampoultzis" <trinexus@...>

21 messages 2000/09/04
[#4768] RE: Wiki — "NAKAMURA, Hiroshi" <nahi@...> 2000/09/04

Hi, Glen,

[#4783] Re: Wiki — Masatoshi SEKI <m_seki@...> 2000/09/04

[#4785] Re: Wiki — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/09/05

Howdy,

[#4883] Re-binding a block — Dave Thomas <Dave@...>

16 messages 2000/09/12

[#4930] Perl 6 rumblings -- RFC 225 (v1) Data: Superpositions — Conrad Schneiker <schneik@...>

Hi,

11 messages 2000/09/15

[#4936] Ruby Book Eng. translation editor's questions — Jon Babcock <jon@...>

20 messages 2000/09/16

[#5045] Proposal: Add constants to Math — Robert Feldt <feldt@...>

15 messages 2000/09/21

[#5077] Crazy idea? infix method calls — hal9000@...

This is a generalization of the "in" operator idea which I

17 messages 2000/09/22

[#5157] Compile Problem with 1.6.1 — Scott Billings <aerogems@...>

When I try to compile Ruby 1.6.1, I get the following error:

15 messages 2000/09/27

[ruby-talk:5119] Re: Crazy idea? infix method calls

From: "Louis A. Mamakos" <louie@...>
Date: 2000-09-26 02:12:37 UTC
List: ruby-talk #5119
> 
> > |But I still think, as a special case, it woudl be a good idea if
> > |    x in y
> > |meant the same as
> > |   y.include? x
> > |
> > |It is "pretty" (IMO) in the same way that the for loop is pretty...
> >
> > It's possible, because 'in' is the reserved word, so that `x in y' is
> > not valid now.  Let us discuss about name, behavior, and
> > least-surprise-ness. ;-)
> >
> 
> Certainly let's discuss it then... ;)
> 
> I propose that the (pseudo) operator "in" (named as such) should
> result in a call to include? "under the hood," i.e., x in y or
> any arbitrary pair of objects x and y, should behave exactly the
> same as y.include? x, returning true or false and making possible
> syntax like: if node in binary_tree then ...
> 
> Now, is there any hidden catch, any unforeseen complication that
> I am unaware of?
> 
> Since it mimics an operator, it will have to have a precedence.
> That's all that comes to my mind. If I had had more sleep last
> night, I might have an opinion about high versus low... :)
> Presumably we could fix it so that for all operaors op1 and op2,
> a op1 b in c op2 d  would mean the same as the expression
> a op1 c.include?(b) op2 d.
> 
> Does anyone but me like this proposal at all?
> 

If most of the motivation to pursue this is to have a more "natural"
expression for set membership (e.g., an "in" infix operator), then
could you just use a method called "contains" instead which wouldn't
require another mechanism.

	e.g.,  y.contains x 

which I think reads as naturally as "x in y".

I just worry that more syntactic sugar which makes figuring out
precedence and evaluation order may not really help in the end.

louie

In This Thread