11 - walking a directory tree.rb

来自「O Reilly Ruby Cookbook source code」· RB 代码 · 共 75 行

RB
75
字号
require 'create_tree'create_tree './' =>   [ 'file1',     'file2',    { 'subdir1/' => [ 'file1' ] },    { 'subdir2/' => [ 'file1',                      'file2',                      { 'subsubdir/' => [ 'file1' ] }                     ]     }   ]#---Dir['**/**']# => ["file1", "file2", "subdir1", "subdir2", "subdir1/file1", #     "subdir2/file1", "subdir2/file2", "subdir2/subsubdir", #     "subdir2/subsubdir/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 pathend# ./# ./subdir1# ./subdir1/file1# ./file2# ./file1#---Find.find('./') do |path|   if File.basename(path) =~ /file2$/    puts "PRUNED #{path}"    Find.prune   end  puts pathend# ./# ./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#---

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?