[#5563] Non-overridable and non-redefinable methods — Eric Mahurin <eric_mahurin@...>

Lately, I've been thinking about the future of ruby

44 messages 2005/08/19
[#5564] Re: Non-overridable and non-redefinable methods — Austin Ziegler <halostatue@...> 2005/08/19

On 8/19/05, Eric Mahurin <eric_mahurin@yahoo.com> wrote:

[#5571] Re: Non-overridable and non-redefinable methods — Eric Mahurin <eric_mahurin@...> 2005/08/19

--- Austin Ziegler <halostatue@gmail.com> wrote:

[#5574] Re: Non-overridable and non-redefinable methods — TRANS <transfire@...> 2005/08/20

Just wanted to add a few things.

[#5581] Re: Non-overridable and non-redefinable methods — Austin Ziegler <halostatue@...> 2005/08/20

On 8/19/05, TRANS <transfire@gmail.com> wrote:

[#5583] Re: Non-overridable and non-redefinable methods — "David A. Black" <dblack@...> 2005/08/20

Hi --

[#5585] Re: Non-overridable and non-redefinable methods — Eric Mahurin <eric_mahurin@...> 2005/08/20

--- "David A. Black" <dblack@wobblini.net> wrote:

[#5609] Pathname#walk for traversing path nodes (patch) — ES <ruby-ml@...>

Here is a small addition to Pathname against 1.9, probably suited

20 messages 2005/08/22

Re: Pathname#walk for traversing path nodes (patch)

From: Tanaka Akira <akr@...17n.org>
Date: 2005-08-25 06:50:47 UTC
List: ruby-core #5675
In article <430BB56D.8010506@magical-cat.org>,
  ES <ruby-ml@magical-cat.org> writes:

>> It seems that Pathname#walk doesn't yield the root directory.
>> Is it intended?  How useful/unuseful with this behavior?

I'd like to hear your usage of Pathname#walk.
I want to know at least one usage of the method before I introduce it
to pathname.rb.

>    def walk()
>      @path.scan(%r{[^/]*/?})[0...-1].inject('') do |path, dir|
>        yield Pathname.new(path << dir)
>       path
>      end
>    end                                 # walk()

It has a problem with non-canonical paths.

% ruby -rlib/pathname.rb -e 'Pathname.new("a//b").walk {|v| p v }' 
#<Pathname:a/>
#<Pathname:a//>
#<Pathname:a//b>

I think it should use Pathname#dirname like my version in [ruby-core:5641].

% ruby -rlib/pathname.rb -e 'Pathname.new("a//b").walk2 {|v| p v }'
#<Pathname:a>
#<Pathname:a//b>
-- 
Tanaka Akira

In This Thread