[#93964] perl6 grammar rules in ruby — Charles Comstock <cc1@...>

Has anyone taken a look at the idea of having embedded grammars in ruby

21 messages 2004/03/01

[#94023] Why's (Poignant) Guide to Ruby, Chapter Four: Little Leaves of Code — why the lucky stiff <ruby-talk@...>

Just wanted everyone to know that Chapter Four of the (Poignant) Guide

15 messages 2004/03/01

[#94037] Rubyx OS (Ruby oriented linux distro) — Andrew Walrond <andrew@...>

I am pleased to announce the first public release of Rubyx, codename

39 messages 2004/03/02

[#94062] pickaxe with pics? — Dick Davies <rasputnik@...>

17 messages 2004/03/02

[#94068] dynamic assignment of instance variables — gv@... (Gerard A.W. Vreeswijk)

$ cat try.rb

19 messages 2004/03/02

[#94110] why are Hashes so unsorted? what's your solution? — Ruby Baby <ruby@...>

I try to avoid questions like "Why doesn't Ruby do what ___ does?"

14 messages 2004/03/03

[#94144] Mozilla gets support for other client-side languages in the future, how about Ruby? — Erik Terpstra <erik@...>

Interesting slides:

9 messages 2004/03/03

[#94190] rescue inside block -> syntax error — Simon Strandgaard <neoneye@...>

While reading this message:

15 messages 2004/03/04

[#94424] random range — Charles Comstock <cc1@...>

Why doesn't rand take an integer range and then generate a random number

23 messages 2004/03/06
[#94432] Re: random range — Hal Fulton <hal9000@...> 2004/03/06

Charles Comstock wrote:

[#94434] Re: random range — Joel VanderWerf <vjoel@...> 2004/03/06

Hal Fulton wrote:

[#94436] Re: random range — "David A. Black" <dblack@...> 2004/03/06

Hi --

[#94487] Looking for HTML templating system — Andreas Schwarz <usenet@...>

I am looking for a templating system for my forum

19 messages 2004/03/07

[#94517] proposal: class<<obj to invoke extend_object — Simon Strandgaard <neoneye@...>

'obj.extend' and 'class<<obj' are close cousins..

22 messages 2004/03/07

[#94612] RedCloth 2.0.2 -- A Textile Humane Web Text Generator — why the lucky stiff <ruby-talk@...>

For your immediate perusal and swift renouncement:

10 messages 2004/03/09

[#94672] saving array — mopthisandthat@... (Phidippus)

After I do bunch of computations and create a huge array with bunch of

18 messages 2004/03/10

[#94686] Possibility of 2nd edition of _The Ruby Way_ — Hal Fulton <hal9000@...>

Hello, all.

17 messages 2004/03/10

[#94760] convincing a webhost to support ruby — Mark Hubbart <discord@...>

Hi all,

15 messages 2004/03/11

[#94813] Jruby 0.7.0 — Thomas E Enebo <enebo@...>

20 messages 2004/03/12
[#94815] Re: [ANN] Jruby 0.7.0 — gabriele renzi <surrender_it@...1.vip.ukl.yahoo.com> 2004/03/12

il Sat, 13 Mar 2004 02:33:49 +0900, Thomas E Enebo <enebo@acm.org> ha

[#94817] Re: [ANN] Jruby 0.7.0 — Thomas E Enebo <enebo@...> 2004/03/12

On Sat, 13 Mar 2004, gabriele renzi defenestrated me:

[#94935] RubyGems 0.2.0 — Chad Fowler <chad@...>

The first public release of RubyGems (http://rubygems.rubyforge.org)

26 messages 2004/03/14

[#94985] GUI testing on unix — Simon Strandgaard <neoneye@...>

I am curious to if there exists any GUI testing packages for unix.

17 messages 2004/03/16

[#94998] RAA trouble and maintenance — "NAKAMURA, Hiroshi" <nahi@...>

Hi,

14 messages 2004/03/16

[#95014] RAA - So much is broken — Lothar Scholz <mailinglists@...>

Hello,

15 messages 2004/03/16

[#95060] YAML tutorial — Matt Lawrence <matt@...>

Ok, I am so not a Ruby wizard. In fact, I don't do much development at

15 messages 2004/03/17

[#95098] groovy — David Garamond <lists@...6.isreserved.com>

Groovy, a scripting language targeted for JVM, was mentioned in Slashdot

14 messages 2004/03/17

[#95155] Installer packages for MacOSX — Mark Hubbart <discord@...>

Hi, all

18 messages 2004/03/17

[#95190] Thinking about a date-matching algorithm... — Hal Fulton <hal9000@...>

I did a little swapping of ideas with dblack on this. Now I'm

22 messages 2004/03/18

[#95200] Log4r 1.0.5 now with RubyGems option — Leon Torres <leon@...>

Greetings, I'm pleased to announce the release of Log4r 1.0.5. The

11 messages 2004/03/18

[#95230] Ruby and Mozilla — paul vudmaska <paul@...>

--- Simon Strandgaard <neoneye@adslhome.dk <http://us.f104.mail.yahoo.com/ym/Compose?To=neoneye@adslhome.dk&YY=90525&order=down&sort=date&pos=0&view=a&head=b>> wrote:

12 messages 2004/03/18

[#95290] calling outer-scope method of same name — "Bill Kelly" <billk@...>

Hi all!

16 messages 2004/03/18
[#95292] Re: calling outer-scope method of same name — "David A. Black" <dblack@...> 2004/03/18

Hi --

[#95340] Kwartz (2004-03-19) released — Makoto Kuwata <kwa@...>

Hi folks,

31 messages 2004/03/19
[#95367] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/19

Hi,

[#95405] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/19

Makoto Kuwata wrote:

[#95412] Re: [ANN] Kwartz (2004-03-19) released — Makoto Kuwata <kwa@...> 2004/03/19

Andreas,

[#95453] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/20

Makoto Kuwata wrote:

[#95484] Re: [ANN] Kwartz (2004-03-19) released — Makoto Kuwata <kwa@...> 2004/03/21

[#95490] Re: [ANN] Kwartz (2004-03-19) released — Thomas Fini Hansen <beast@...> 2004/03/21

On Sun, Mar 21, 2004 at 11:39:26AM +0900, Makoto Kuwata wrote:

[#95518] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/21

Makoto Kuwata wrote:

[#95553] Re: [ANN] Kwartz (2004-03-19) released — Andreas Schwarz <usenet@...> 2004/03/22

Makoto Kuwata wrote:

[#95386] Can $LOAD_PATH be relative? — ptkwt@... (Phil Tomson)

24 messages 2004/03/19
[#95389] Re: Can $LOAD_PATH be relative? — ptkwt@... (Phil Tomson) 2004/03/19

In article <wsqk71gd188.fsf@io.com>, Jim Menard <jimm@io.com> wrote:

[#95398] Re: Can $LOAD_PATH be relative? — Patrick Bennett <patrick.bennett@...> 2004/03/19

Phil Tomson wrote:

[#95400] Re: Can $LOAD_PATH be relative? — "David A. Black" <dblack@...> 2004/03/19

Hi --

[#95403] Re: Can $LOAD_PATH be relative? — Patrick Bennett <patrick.bennett@...> 2004/03/19

[#95434] converting javascript to ruby (nested methods) — yvon.thoravalNO-SPAM@... (Yvon Thoraval)

i have a script written in javascript and want to translate it into ruby

10 messages 2004/03/20

[#95517] What to gem? — Robert Feldt <feldt@...>

Hi,

14 messages 2004/03/21

[#95560] Need some advice on PickAxe II — Dave Thomas <dave@...>

Folks:

74 messages 2004/03/22

[#95636] Tempfile consuming a lot of memory — thomass@... (Thomas)

I'm using a lot of Tempfile's and I have been made aware that they

17 messages 2004/03/23

[#95693] proposal - enforce lower_case for variables and methods — Simon Strandgaard <neoneye@...>

Ruby does already enforce CamelCase for class/modules.

29 messages 2004/03/24

[#95769] File.stat.size errors with file sizes over 2Gigs. — walter@...

File.stat('file_name').size returns erroneous file sizes when the

16 messages 2004/03/24

[#95782] Quick Introduction to RubyGems — Gavin Sinclair <gsinclair@...>

Hi folks,

17 messages 2004/03/24

[#95875] Errors with "make" step, while compiling ruby under AIX 5.2 — Ruby Ruby <ruby4lover@...>

I am wanted to install ruby 1.8.1 under AIX 5.2. During the installation, while doing the "make" part of it, the process abruptily ended with the following errors:

15 messages 2004/03/25
[#95883] Re: Errors with "make" step, while compiling ruby under AIX 5.2 — nobu.nokada@... 2004/03/26

Hi,

[#95918] Re: Errors with "make" step, while compiling ruby under AIX 5.2 — Ruby Ruby <ruby4lover@...> 2004/03/26

I am sorry to insist but this is important to me.

[#95960] Status of AOP in Ruby — Markus Jais <markusjais@...>

Hello

22 messages 2004/03/27

[#95984] deciding between ruby and python — "Serve Lau" <ik@...>

I'm trying to decide to learn either python or ruby. Are there fundamental

119 messages 2004/03/28
[#96006] Re: deciding between ruby and python — klausm0762@... (Klaus Momberger) 2004/03/28

"Serve Lau" <ik@detongiser.com> wrote in message news:<106dlen5mr97q76@corp.supernews.com>...

[#96566] Re: deciding between ruby and python — Ville Vainio <ville@...> 2004/04/05

[#96503] Re: deciding between ruby and python — Ville Vainio <ville@...> 2004/04/04

>>>>> "James" == James Britt <jamesUNDERBARb@neurogami.com> writes:

[#96508] Re: deciding between ruby and python — Dan Doel <djd15@...> 2004/04/04

As you say, this whole thread has been done many times before.

[#96691] Re: deciding between ruby and python — gabriele renzi <surrender_it@...1.vip.ukl.yahoo.com> 2004/04/07

il Wed, 07 Apr 2004 05:35:39 GMT, dagbrown@LART.ca (Dave Brown) ha

[#95992] Madeleine 0.6 — Anders Bengtsson <ndrsbngtssn@...>

23 messages 2004/03/28

two-pass tree traversal via callcc (was: Re: Create a directories list with sub-directories)

From: Vadim Nasardinov <vadimn@...>
Date: 2004-03-24 23:42:40 UTC
List: ruby-talk #95800
On Wednesday 24 March 2004 13:32, Vadim Nasardinov wrote:
> X-Mail-Count: 95761
> Message-Id: <200403241336.50319@vadim.nasardinov>
>
> On Wednesday 24 March 2004 03:44, Dirk Einecke wrote:
> > I have one question: With your code the files in a folder will be
> > print out at first. Is it possible to change this that the order
> > is inverted: at first the folders an after that the files?

I needed a variation of the above script that would print out, for
each directory, the number of files and subdirectories that it
contains directly and indirectly.  This turned out to be an
interesting opportunity for implementing a fairly simple backtracking
tree traversal via callcc.  This doesn't quite rise to the level of
inclusion in
http://blade.nagaokaut.ac.jp/~sinara/ruby/callcc-lib/
but may be interesting to some.

Here goes.


#!/usr/bin/ruby

# Author:  Vadim Nasardinov
# Since:   2004-03-24

# In a lesser language (how's that for a flamebait?), this would be
# coded by explicitly building a tree data structure in the first
# pass, and printing it out in the second pass.  This script avoids
# building the tree explicitly by exploiting the fact that the
# necessary tree structure is already maintained implicitly by the
# interpreter: the call tree of the file_tree_stats method mirrors the
# file tree that we want to print out.

def file_tree_stats(dir, indent)
    dirs =  []
    n_files = 0

    Dir.foreach(dir) do |ff|
        path = File.join(dir, ff)
        if File.directory?(path) and ff[0] != ?.
            dirs.push(path)
        elsif path[-3..-1] == '.rb'
            n_files = n_files.succ
        end
    end

    dirs.sort!
    dirs.reverse!

    conts = []

    first_pass = true
    n_total_dirs = dirs.length
    n_total_files = n_files
    dirs.each do |dd|
        cont, n_subdirs, n_subfiles = file_tree_stats(dd, indent + "  ")
        break if cont == nil
        n_total_dirs += n_subdirs
        n_total_files += n_subfiles
        conts.push(cont)
    end

    if first_pass
        first_pass = false
        callcc do |k|
            return k, n_total_dirs, n_total_files
        end
        puts "#{indent}#{File.basename(dir)}/"
        stats = "  #{indent}#{n_files} files"
        stats += " / #{n_total_files} total files" if n_files != n_total_files

        if dirs.length > 0
            stats += " / #{dirs.length} subdirs"
            if n_total_dirs > dirs.length
                stats += " / #{n_total_dirs} total subdirs"
            end
        end
        puts stats
    end

    if conts.length > 0
        conts.pop.call
    end
end

ARGV.each do |dd|
    k, n_dirs, n_files = file_tree_stats(dd, "")
    if k != nil
        puts dd
        puts "#{n_files} files / #{n_dirs} subdirectories"
        k.call
    end
end

# The end =================================



Example:

$ ./file_tree_stats.rb /usr/lib/ruby/1.8
/usr/lib/ruby/1.8
300 files / 41 subdirectories
1.8/
  77 files / 300 total files / 20 subdirs / 41 total subdirs
  bigdecimal/
    5 files
  cgi/
    1 files / 2 total files / 1 subdirs
    session/
      1 files
  date/
    1 files
  dl/
    4 files
  drb/
    9 files
  i386-linux-gnu/
    1 files / 3 subdirs
    digest/
      0 files
    io/
      0 files
    racc/
      0 files
  io/
    1 files
  irb/
    15 files / 31 total files / 3 subdirs / 4 total subdirs
    cmd/
      6 files
    ext/
      8 files
    lc/
      1 files / 2 total files / 1 subdirs
      ja/
        1 files
  net/
    11 files
  openssl/
    6 files
  optparse/
    4 files
  racc/
    1 files
  rexml/
    27 files / 53 total files / 4 subdirs
    dtd/
      5 files
    encodings/
      13 files
    light/
      1 files
    parsers/
      7 files
  runit/
    6 files / 7 total files / 1 subdirs
    cui/
      1 files
  shell/
    7 files
  test/
    1 files / 15 total files / 1 subdirs / 6 total subdirs
    unit/
      7 files / 14 total files / 2 subdirs / 5 total subdirs
      ui/
        2 files / 5 total files / 3 subdirs
        console/
          1 files
        fox/
          1 files
        gtk/
          1 files
      util/
        2 files
  uri/
    7 files
  webrick/
    19 files / 32 total files / 2 subdirs
    httpauth/
      7 files
    httpservlet/
      6 files
  xmlrpc/
    10 files
  yaml/
    16 files


In This Thread