View Problem

Process each file in a directory

DiskEdit
ruby
directory = '/tmp' ; Dir.foreach(directory) {|file| puts "#{file}"}
ExpandDiskEdit
java
for (File file : (new File("c:\\")).listFiles()) process(file);
DiskEdit
perl
use File::Glob;

for (<*>) {
process_file($_) if (-f);
}
ExpandDiskEdit
groovy
dir.eachFile{ f -> process(f) }
ExpandDiskEdit
scala
for (file <- new File("c:\\").listFiles) { processFile(file) }
DiskEdit
python 2.4
import os
results = (process(f) for f in os.listdir(".") if os.path.isfile(f))
ExpandDiskEdit
cpp C++/CLI .NET 2.0
for each(String^ filename in IO::Directory::GetFiles(dirname)) process(filename);
ExpandDiskEdit
fsharp
let dirname = "c:\\"

let processFile filename = printfn "%s" filename
for filename in Directory.GetFiles(dirname) do processFile filename done
ExpandDiskEdit
fsharp
let dirname = "c:\\"

Directory.GetFiles(dirname) |> Array.iter (fun filename -> printfn "%s" filename)
ExpandDiskEdit
erlang
% File basenames only - many tasks require absolute paths to work
lists:foreach(fun (FileOrDirPath) -> Worker(FileOrDirPath) end, file:list_dir(Directory)).
ExpandDiskEdit
erlang
% Absolute paths provided - will accomodate most tasks
lists:foreach(fun (FileOrDirPath) -> Worker(FileOrDirPath) end, list_dir_path(Directory)).
ExpandDiskEdit
php
if ($dh = opendir($dir)) { // if we have access
while (($file = readdir($dh)) !== false) { // as long as there is a file
echo "name: $file\n"; // echo its name
}
closedir($dh); // close the dir
}

Submit a new solution for ruby, java, perl, groovy ...