I have come to the conclusion that the following syntax makes
more sense for Dir/Dir.glob:
Dir["#{__FILE__}/../../lib/**/*.rb"]
(In other words, File.join doesn't make sense here.)
Why?
1) In my opinion, it is more readable
2) After reading dir.c in Ruby's sources, I would say
that it is at least as portable as the File.join variant.
Others more familiar with the Ruby source already said
that Ruby uses slashes internally on all platforms.
3) It's more efficient.
Kind regards,
Stefan
···
On Tuesday 22 November 2005 16:37, Robert Klemme wrote:
I have come to the conclusion that the following syntax makes
more sense for Dir/Dir.glob:
Dir["#{__FILE__}/../../lib/**/*.rb"]
(In other words, File.join doesn't make sense here.)
Why?
1) In my opinion, it is more readable
Yeah, probably.
2) After reading dir.c in Ruby's sources, I would say
that it is at least as portable as the File.join variant.
Others more familiar with the Ruby source already said
that Ruby uses slashes internally on all platforms.
I'm a bit wary to rely on such knowledge about internals. I prefer to
stick with the interfaces.
But then again it might be a bit too much formalism in this case - and
especially for one shot scripts.
3) It's more efficient.
Yep, guess so.
Interesting points raised nevertheless.
Kind regards
robert
···
On Tuesday 22 November 2005 16:37, Robert Klemme wrote:
On Tuesday 22 November 2005 16:37, Robert Klemme wrote:
[...]
> Dir[File.join(__FILE__, "..", "..", "lib", "**", "*.rb")].each {|l|
> require l}
[..]
A side note:
I have come to the conclusion that the following syntax makes
more sense for Dir/Dir.glob:
Dir["#{__FILE__}/../../lib/**/*.rb"]
(In other words, File.join doesn't make sense here.)
Why?
1) In my opinion, it is more readable
2) After reading dir.c in Ruby's sources, I would say
that it is at least as portable as the File.join variant.
Others more familiar with the Ruby source already said
that Ruby uses slashes internally on all platforms.
I think that all unix-influenced programs that I use under
windoze accept either slashes or backslashes.
These definitely do:
unzip, zip, awk, gawk, mawk, less, grep, sed, cat, vile, tail, diff,
strings