[#5524] Division weirdness in 1.9 — "Florian Frank" <flori@...>
Hi,
[#5536] bug in variable assignment — Mauricio Fern疣dez <mfp@...>
Hi,
On Mon, Aug 08, 2005 at 11:36:22AM +0900, nobuyoshi nakada wrote:
hi,
Hi,
[#5552] Exceptions in threads all get converted to a TypeError — Paul van Tilburg <paul@...>
Hey all,
[#5563] Non-overridable and non-redefinable methods — Eric Mahurin <eric_mahurin@...>
Lately, I've been thinking about the future of ruby
On 8/19/05, Eric Mahurin <eric_mahurin@yahoo.com> wrote:
--- Austin Ziegler <halostatue@gmail.com> wrote:
Just wanted to add a few things.
On 8/19/05, TRANS <transfire@gmail.com> wrote:
Hi --
--- "David A. Black" <dblack@wobblini.net> wrote:
On 8/20/05, Eric Mahurin <eric_mahurin@yahoo.com> wrote:
On 8/20/05, TRANS <transfire@gmail.com> wrote:
On 8/19/05, Eric Mahurin <eric_mahurin@yahoo.com> wrote:
--- Austin Ziegler <halostatue@gmail.com> wrote:
On 20 Aug 2005, at 02:05, Eric Mahurin wrote:
Eric Hodel wrote:
Eric Mahurin wrote:
Hi,
--- SASADA Koichi <ko1@atdot.net> wrote:
Hi,
--- SASADA Koichi <ko1@atdot.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
Evan Webb wrote:
In article <43094510.6090406@magical-cat.org>,
[#5651] File.extname edge case bug? — Daniel Berger <Daniel.Berger@...>
Hi all,
[#5662] Postgrey — Shugo Maeda <shugo@...>
Hi,
[#5676] uri test failures. (Re: [ruby-cvs] ruby/lib, ruby/lib/uri: Lovely RDOC patches from mathew (metaATpoboxDOTcom) on URI/* and getoptlong.rb) — Tanaka Akira <akr@...17n.org>
In article <20050824050801.5B4E0C671F@lithium.ruby-lang.org>,
[#5680] Problem with mkmf and spaces in directory names? — noreply@...
Bugs item #2308, was opened at 2005-08-25 13:42
[#5685] Wilderness Project — "Charles E. Thornton" <ruby-core@...>
OK - I see where ELTS_SHARED is used to implement COPY-ON-WRITE
Re: Pathname#walk for traversing path nodes (patch)
In article <43094510.6090406@magical-cat.org>,
ES <ruby-ml@magical-cat.org> writes:
> Here is a small addition to Pathname against 1.9, probably suited
> for 1.8. Makes doing something for each node in a path easier.
> + # Pathname.new('/path/to/some/file.rb').walk {|dir| p dir}
> + # #<Pathname:/path>
> + # #<Pathname:/path/to>
> + # #<Pathname:/path/to/some>
> + # #<Pathname:/path/to/some/file.rb>
It seems that Pathname#walk doesn't yield the root directory.
Is it intended? How useful/unuseful with this behavior?
Another question is about relative pathnames.
% ruby -rpathname -e 'Pathname.new("a/b/c").walk {|x| p x}'
#<Pathname:/b>
#<Pathname:/b/c>
The directory "a" doesn't appear in the result.
I think it is not intended.
Index: pathname.rb
===================================================================
RCS file: /src/ruby/lib/pathname.rb,v
retrieving revision 1.42
diff -u -p -r1.42 pathname.rb
--- pathname.rb 10 Jul 2005 15:17:18 -0000 1.42
+++ pathname.rb 23 Aug 2005 03:20:08 -0000
@@ -423,6 +423,33 @@ class Pathname
end
#
+ # Iterates over and yields a new Pathname object
+ # for each element in the given path.
+ #
+ # Pathname.new('/path/to/some/file.rb').walk {|dir| p dir}
+ # #<Pathname:/path>
+ # #<Pathname:/path/to>
+ # #<Pathname:/path/to/some>
+ # #<Pathname:/path/to/some/file.rb>
+ #
+ def walk()
+ paths = []
+ v = self
+ if absolute?
+ until v.root?
+ paths << v
+ v = v.dirname
+ end
+ else
+ until v.to_s == '.'
+ paths << v
+ v = v.dirname
+ end
+ end
+ paths.reverse_each {|path| yield path }
+ end
+
+ #
# Pathname#+ appends a pathname fragment to this one to produce a new Pathname
# object.
#
--
Tanaka Akira