[#7500] Re: how to introduce reference objects into ruby — "Geert Fannes" <Geert.Fannes@...>

The problem with the code you sent is that you have to go through ALL

16 messages 2006/03/10

[#7553] "not" operator used in expression that is a method parameter can generate syntax error — noreply@...

Bugs item #3843, was opened at 2006-03-15 22:09

27 messages 2006/03/16
[#7554] Re: [ ruby-Bugs-3843 ] "not" operator used in expression that is a method parameter can generate syntax error — nobu@... 2006/03/16

Hi,

[#7557] Re: [ ruby-Bugs-3843 ] "not" operator used in expression that is a method parameter can generate syntax error — 卜部昌平 <shyouhei@...> 2006/03/16

Nobu, you are not answering to the question.... You have to unveil why

[#7559] Re: [ ruby-Bugs-3843 ] "not" operator used in expression that is a method parameter can generate syntax error — Yukihiro Matsumoto <matz@...> 2006/03/16

Hi,

[#7560] Rant about keyword logical operators was : (Re: [ ruby-Bugs-3843 ] "not" operator used in expression that is a method parameter can generate syntax error) — "Zev Blut" <rubyzbibd@...> 2006/03/16

Hello,

[#7565] Re: [ ruby-Bugs-3843 ] "not" operator used in expression that is a method parameter can generate syntax error — mathew <meta@...> 2006/03/16

Yukihiro Matsumoto wrote:

[#7566] Re: [ ruby-Bugs-3843 ] "not" operator used in expression that is a method parameter can generate syntax error — "Brian Mitchell" <binary42@...> 2006/03/16

On 3/16/06, mathew <meta@pobox.com> wrote:

[#7567] Re: [ ruby-Bugs-3843 ] "not" operator used in expression that is a method parameter can generate syntax error — mathew <meta@...> 2006/03/16

Brian Mitchell wrote:

[#7568] Re: [ ruby-Bugs-3843 ] "not" operator used in expression that is a method parameter can generate syntax error — "Brian Mitchell" <binary42@...> 2006/03/16

On 3/16/06, mathew <meta@pobox.com> wrote:

[#7614] PATCH: A subclassable Pathname — "Evan Phoenix" <evanwebb@...>

A simply change (changing all references of "Pathname.new" to

19 messages 2006/03/27
[#7618] Re: PATCH: A subclassable Pathname — Tanaka Akira <akr@...17n.org> 2006/03/27

In article <92f5f81d0603262350k796fe48fp2224b9f2108ac507@mail.gmail.com>,

[#7619] Re: PATCH: A subclassable Pathname — "Evan Phoenix" <evan@...> 2006/03/27

Quite right on the .glob and .getwd. I guess the tests don't test hit

[#7620] Re: PATCH: A subclassable Pathname — Tanaka Akira <akr@...17n.org> 2006/03/27

In article <92f5f81d0603270903g2fb02244i6a395be708dfffa3@mail.gmail.com>,

Re: PATCH: A subclassable Pathname

From: "Evan Phoenix" <evanwebb@...>
Date: 2006-03-28 01:42:47 UTC
List: ruby-core #7631
The reciever class is the potentially the one thats been subclassed,
so all it's methods should attempt to convert return values into
instances of itself.

Well, this whole thing is about the ability to subclass Pathname. For
instance, I've got a class that effectively operates on paths (ala
Pathname) but provides some functionality specific to the application
I'm in (like the ability to load a YAML document stored under the
path). I could extend Pathname and add my methods to it, but I've
actually got 2 such classes and I don't particularly want them to
share these methods.

I could delegate to Pathname, but that means that every time I call a
method on this new class (call it EnhancedPathname), I have to convert
it to an EnhancedPathname because none of the methods return
EnhancedPathnames.

Here's an example of the desirable behavior:

class EnhancedPathname < Pathname
  def load_yaml
       ...
   end
end

ep = EnhancedPathname.new("/home/evan")
p2 = ep + "work"                        # #<EnhancedPathname:/home/evan/work>
p2.load_yaml                               # [...]

The ability to subclass and extend functionality is what brings people
to OO languages, so we should try and make it easier to do so.

 - Evan

On 3/27/06, Tanaka Akira <akr@m17n.org> wrote:
> In article <92f5f81d0603271717r1ce51d30p6c28e363dc32a09b@mail.gmail.com>,
>   "Evan Phoenix" <evanwebb@gmail.com> writes:
>
> > Hm, well, thats because of the shortcut behavior in Pathname#+ which
> > tests that the argument is absolute. I'll fix that and see if thats
> > done other places and change them to create new instances from
> > self.class.
>
> Why you need the receiver class?
>
> I cannot remember the reason except "I doubt I need to
> explain why thats a good thing."
>
> I think this is not simple enough to avoid explanation.
> --
> Tanaka Akira
>
>


--
When I do good, I feel good;  when I do bad, I feel bad,
and that is my religion.
    -- Abraham Lincoln (1809 - 1865)


In This Thread