This page contains automated test results for code from O'Reilly's Ruby Cookbook. If this code looks interesting or useful, you might want to buy the whole book.
Walking a Directory Tree | ||
---|---|---|
Code | Expected | Actual |
require 'create_tree' create_tree './' => [ 'file1', 'file2', { 'subdir1/' => [ 'file1' ] }, { 'subdir2/' => [ 'file1', 'file2', { 'subsubdir/' => [ 'file1' ] } ] } ] Dir['**/**'] |
["file1", "file2", "subdir1", "subdir2", "subdir1/file1", | [] |
require 'find' Find.find('./') { |path| puts path } |
./ ./subdir2 ./subdir2/subsubdir ./subdir2/subsubdir/file1 ./subdir2/file2 ./subdir2/file1 ./subdir1 ./subdir1/file1 ./file2 ./file1 |
./ |
Find.find('./') do |path| Find.prune if File.basename(path) == 'subdir2' puts path end |
./ ./subdir1 ./subdir1/file1 ./file2 ./file1 |
./ |
Find.find('./') do |path| if File.basename(path) =~ /file2$/ puts "PRUNED #{path}" Find.prune end puts path end |
./ ./subdir2 ./subdir2/subsubdir ./subdir2/subsubdir/file1 PRUNED ./subdir2/file2 ./subdir2/file1 ./subdir1 ./subdir1/file1 PRUNED ./file2 ./file1 |
./ |
Dir["**/**"].sort.each { |x| puts x } |
file1 file2 subdir1 subdir1/file1 subdir2 subdir2/file1 subdir2/file2 subdir2/subsubdir subdir2/subsubdir/file1 |