[#10209] Market for XML Web stuff — Matt Sergeant <matt@...>

I'm trying to get a handle on what the size of the market for AxKit would be

15 messages 2001/02/01

[#10238] RFC: RubyVM (long) — Robert Feldt <feldt@...>

Hi,

20 messages 2001/02/01
[#10364] Re: RFC: RubyVM (long) — Mathieu Bouchard <matju@...> 2001/02/05

[#10708] Suggestion for threading model — Stephen White <spwhite@...>

I've been playing around with multi-threading. I notice that there are

11 messages 2001/02/11

[#10853] Re: RubyChangeRequest #U002: new proper name for Hash#indexes, Array#indexes — "Mike Wilson" <wmwilson01@...>

10 messages 2001/02/14

[#11037] to_s and << — "Brent Rowland" <tarod@...>

list = [1, 2.3, 'four', false]

15 messages 2001/02/18

[#11094] Re: Summary: RCR #U002 - proper new name fo r indexes — Aleksi Niemel<aleksi.niemela@...>

> On Mon, 19 Feb 2001, Yukihiro Matsumoto wrote:

12 messages 2001/02/19

[#11131] Re: Summary: RCR #U002 - proper new name fo r indexes — "Conrad Schneiker" <schneik@...>

Robert Feldt wrote:

10 messages 2001/02/19

[#11251] Programming Ruby is now online — Dave Thomas <Dave@...>

36 messages 2001/02/21

[#11469] XML-RPC and KDE — schuerig@... (Michael Schuerig)

23 messages 2001/02/24
[#11490] Re: XML-RPC and KDE — schuerig@... (Michael Schuerig) 2001/02/24

Michael Neumann <neumann@s-direktnet.de> wrote:

[#11491] Negative Reviews for Ruby and Programming Ruby — Jim Freeze <jim@...> 2001/02/24

Hi all:

[#11633] RCR: shortcut for instance variable initialization — Dave Thomas <Dave@...>

13 messages 2001/02/26

[#11652] RE: RCR: shortcut for instance variable initialization — Michael Davis <mdavis@...>

I like it!

14 messages 2001/02/27

[#11700] Starting Once Again — Ron Jeffries <ronjeffries@...>

OK, I'm starting again with Ruby. I'm just assuming that I've

31 messages 2001/02/27
[#11712] RE: Starting Once Again — "Aaron Hinni" <aaron@...> 2001/02/27

> 2. So far I think running under TextPad will be better than running

[#11726] Re: Starting Once Again — Aleksi Niemel<zak@...> 2001/02/28

On Wed, 28 Feb 2001, Aaron Hinni wrote:

[ruby-talk:11425] Re: Dir#each -- include '.'?

From: "Brian F. Feldman" <green@...>
Date: 2001-02-24 04:22:43 UTC
List: ruby-talk #11425
Neil Conway <nconway@klamath.dyndns.org> wrote:
> Hi all,
> 
> I'm still a Ruby-newbie, so if this is silly, just tell me.
> 
> I'm using Dir#each to recurse through the files in a directory.
> To me, the following code is fairly natural:

Better than Dir[]/Dir.glob since it actually includes all files :)

> #####
> #examines the specified file; if it is valid, it adds the file
> #to the specified array
> def process_file(file, array)
>     #checks on each file
>     return unless File.exists?(file)
>     return unless File.readable?(file)
>     #checks on directories: recurse, or just ignore them
>     if (File.directory?(file))
>         return unless $RECURSIVE
>         dir = Dir.new(file)
>         dir.each {|f| process_file(f, array) }
	  dir.each {|f| process_file(f, array) if f !~ /^\.\.?$/}
	  dir.each {|f| process_file(f, array) if [".", ".."].include?(f)}
	etc.
>     end
>     #okay, the file has passed all the tests, so add it to the array
>     array.push(file)
> end
> #####
> 
> ($RECURSIVE is a boolean global variable).
> 
> The problem with this is that Dir#each includes "." (and ".."). So
> this code goes into an infinite loop, and eventually causes a
> "too many open files" error. To avoid this, I suppose I'd need
> to do some checking for special cases, and ignore "." and ".." --
> except this seems kinda clumsy to me. I think that another
> method for Dir would be justified: like #each, except it doesn't
> include "." and ".."
> 
> Call it Dir#all_files or something...
> 
> Does anyone else think this would be a good idea? Or is there
> a better way to solve my problem?

I, personally, feel this should just be accounted for in the code in the 
simplest way possible (like one of my suggestions above).  I don't think it 
would be very wise to introduce more Enumerable-type interfaces than one to 
a single class -- but perhaps in this case, Dir.new could take a "flags" 
argument that allowed you to disable displaying of the two self/
parent-referential entries.

> Thanks in advance,
> 
> Neil

Hope I've helped :)

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


In This Thread