Empty directory: Difference between revisions
Content deleted Content added
m Note some edge cases / format |
m typo |
||
Line 2: | Line 2: | ||
Starting with a path to some directory, determine whether the directory is empty. |
Starting with a path to some directory, determine whether the directory is empty. |
||
An empty directory contains no files nor subdirectories. With [[Unix]] or [[Windows]] systems, every directory contains |
An empty directory contains no files nor subdirectories. With [[Unix]] or [[Windows]] systems, every directory contains an entry for “<code>.</code>” and almost every directory contains “<code>..</code>” (except for a root directory); an empty directory contains no other entries. |
||
=={{header|Ruby}}== |
=={{header|Ruby}}== |
Revision as of 18:01, 2 January 2012
Empty directory is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
Starting with a path to some directory, determine whether the directory is empty.
An empty directory contains no files nor subdirectories. With Unix or Windows systems, every directory contains an entry for “.
” and almost every directory contains “..
” (except for a root directory); an empty directory contains no other entries.
Ruby
<lang ruby># Checks if a directory is empty, but raises SystemCallError
- if _path_ is not a directory.
def empty_dir?(path)
not Dir.foreach(path).detect {|f| f != '.' and f != '..'}
end</lang>
If Ruby is older than 1.8.7, then Dir.foreach must take a block.
<lang ruby># Checks if a directory is empty, but raises SystemCallError
- if _path_ is not a directory.
def empty_dir?(path)
Dir.foreach(path) {|f| return false if f != '.' and f != '..' } return true
end</lang>
Tcl
<lang tcl>proc isEmptyDir {dir} {
# Get list of _all_ files in directory set filenames [glob -nocomplain -tails -directory $dir * .*] # Check whether list is empty (after filtering specials) expr {![llength [lsearch -all -not -regexp $filenames {^\.\.?$}]]}
}</lang>