module Find

Das Modul Find unterstützt die Top-Down-Durchquerung einer Reihe von Dateipfaden.

Um beispielsweise die Größe aller Dateien in Ihrem Heimatverzeichnis zu ermitteln und alles in einem "Punkt"-Verzeichnis (z. B. $HOME/.ssh) zu ignorieren.

require 'find'

total_size = 0

Find.find(ENV["HOME"]) do |path|
  if FileTest.directory?(path)
    if File.basename(path).start_with?('.')
      Find.prune       # Don't look any further into this directory.
    else
      next
    end
  else
    total_size += FileTest.size(path)
  end
end