View Problem

Process each file in a directory

ExpandDiskEdit
clojure
; (defn process-file [f] "process one file" body...)
(map process-file (.listFiles (File. ".")))
ExpandDiskEdit
cpp C++/CLI .NET 2.0
for each(String^ filename in IO::Directory::GetFiles(dirname)) process(filename);
DiskEdit
csharp
foreach (string filename in System.IO.Directory.GetFiles(directory)) ProcessFile(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
fantom
File(`./`).list.each { process(it) }
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
groovy
dir.eachFile{ f -> process(f) }
ExpandDiskEdit
java
for (File file : (new File("c:\\")).listFiles()) process(file);
DiskEdit
ocaml
let process dir file =
if not (Sys.is_directory (Filename.concat dir file))
then print_endline file

let () =
let dir = "." in
let files = Sys.readdir dir in
Array.iter (process dir) files
DiskEdit
perl
use File::Glob;

for (<*>) {
process_file($_) if (-f);
}
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
}
DiskEdit
python 2.4
import os
results = (process(f) for f in os.listdir(".") if os.path.isfile(f))
DiskEdit
ruby
directory = '/tmp' ; Dir.foreach(directory) {|file| puts "#{file}"}
ExpandDiskEdit
scala
for (file <- new File("c:\\").listFiles) { processFile(file) }

Submit a new solution for clojure, cpp, csharp, erlang ...
There is 1 other solution in haskell