Subversion Repositories svn.Prod repos

Compare Revisions

Ignore whitespace Rev 39 → Rev 40

/filefind/elixir/filefind.exs
1,7 → 1,27
#! /usr/bin/env escript
#! /usr/bin/env elixir
# https://rosettacode.org/wiki/Walk_a_directory/Recursively
# TODO : de hele traversal nog schrijven, dit is alleen argument parsing
 
# =============================================================================
# Create
# name : Andre Rikkert de Koe date: mar 2018
# descr : filefind
# This is a demo of programming in the elixir language.
# Its part of a project to implement a program to create a directory
# tree similar to the output of the Unix find program.
# EUID : Any user who has read access to all the files being searched for.
# run : interactive
#
# Changes
# name : date:
# descr : short description
#
# =============================================================================
 
# =============================================================================
# Functions
# =============================================================================
 
defmodule DezeModule do
 
def usage(progname, mesg) do
9,8 → 29,29
IO.puts mesg
end
 
def traverse(directory) do
File.cd!(directory)
curdir2 = System.cwd()
files = File.ls!(directory)
for file <- files do
pfile = curdir2 <> "/" <> file
IO.puts pfile
if File.dir?(pfile) do
traverse(pfile)
end
end
end
 
def start_traverse(directory) do
IO.puts directory
traverse(directory)
end
end
 
# =============================================================================
# Main
# =============================================================================
#
progname = System.cwd()
 
if length(System.argv) == 1 do
17,7 → 58,7
directory = Enum.at(System.argv(), 0)
if File.dir?(directory)
do
IO.puts "TODO: Now do the traversal"
DezeModule.start_traverse(directory)
else
DezeModule.usage(progname, "ERROR: Not a directory : " <> directory)
end