[#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:5128] Re: Types and ===

From: "Brian F. Feldman" <green@...>
Date: 2000-09-26 05:23:45 UTC
List: ruby-talk #5128
> class String
>   alias_method '_===', '==='
> 
>   def ===(other)
>     case other
>     when Regexp
>       other === self
>     else
>       _===(other)
>     end
>   end
> end

Since this won't work, and neither does my previous suggestion work 
correctly (*g*), here's one which does.  The only problem is that it can 
only be done one level deep or you'll need more unique variable names (and 
I'm having problems making just that work :( )

This makes me wish there was something like "super", but for redefining 
methods in-place.  Then again, the clean way to do this would be to 
implement a new class and use "super" anyway, I guess.

class String
        private
        OldString = String.dup
        public
        def ===(other)
                if other.is_a? Regexp
                        return other === self
                end 
                return OldString.new(self) === other
        end 
end

--
 Brian Fundakowski Feldman           \  FreeBSD: The Power to Serve!  /
 green@FreeBSD.org                    `------------------------------'



In This Thread