[#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:5027] Re: A QuantumSuperposition Proposal for Ruby

From: Huayin Wang <wang@...>
Date: 2000-09-20 15:12:58 UTC
List: ruby-talk #5027
thanks for the comments from yashi and dave!  
frankly, this is not really a complete proposal, it is just a crude
implementation to explore the idea :)

Yashi said:
> i don't have any objection for 'any?' and 'all?'.
> 
> but, seems to me 'any' and 'all', or class Quantum is implicitly
> assuming each object given to the receiver is class of Numeric.
> 
> if class Quantum is assuming class Numeric, and method any and all is
> assuming class Quantum, IMHO, they shouldn't be in the module
> Enumerable.
> 
> [...]

I probably misunderstand your comments here, but I am not limiting it 
to only Numeric. when I tried the following, it works!

p ['a','c'].any > 'b'         # true
p ['a','c'].all > 'b'         # false

> > ###  the following is still illegal :(
> > 
> > # a = 2 * [1,2,3]
> > # b = 2 > [1,2,3].any
> 
> these will work if you give a method called coerce.  but again, I'm
> not sure we are assuming Numeric as core object or not.

thanks, and surely now we have 
p 2 > [1,2,3].any     # true
p 2 > [1,2,3].all     # false

however, I can't do it for string

p 'b' > ['a','c'].any
p 'b' > ['a','c'].all

I do not understand.  and using coerce rather than my original 
implementation give different results:

Using my original implementation:
p [1,2,3].any < [2,5,6].all     # true

It print out "false" using yashi's implementation.

> btw, i'm not sure it's ok to swap self and other in method coerce.  if
> we can define Quantum#*, you can use it. but...
> 
> one more thing.  IMHO, it's better to use Symbol rather than String
> for @method.

thank you very much for commenting.


I also modified the method_missing method in Quantum to:

  def method_missing(id, *arg)
    @states.collect! { |x| x.send(id, *arg)}
    self
  end

so now it will also do this:

p ['abc','df'].any.size > 2      # true
p ['abc','df'].all.size > 2      # false
p ['abc','df3'].any[1,2] > 'be'   # true





 

In This Thread

Prev Next