rubyでtree

require 'pathname'

def tree(dir, space = '')
  last = dir.entries.last

  dir.each_entry do |f|
    next if f.basename().to_s =~ /^\.{1,2}$/
    
    path = dir + f
    print space, (last == path.basename()) ? "└─" : "├─"
    print path.basename(), ((path.directory?) ? '/' : ''), "\n"
    if path.directory?
      tree(path, space + ((last == path.basename()) ? "    " : ""))
    end
  end
end

tree(Pathname.new('.'))