Subversion Repositories svn.Prod repos

Compare Revisions

Ignore whitespace Rev 39 → Rev 40

/filefind/elixir/Makefile
1,4 → 1,27
SCRIPT=filefind.exs
SRC=filefind.exs
PRG=$(SRC)
DIR=/var/tmp
.PHONY: all test cleantest
 
run:
LC_ALL=en_US.UTF-8 elixir $(SCRIPT) blaa
all: test
 
# nog uitzoeken hoe je compilieert
# zonder execute
build:
elixirc $(SRC)
 
test:
#LC_ALL=en_US.UTF-8 elixir $(PRG) $(DIR)
./$(PRG) $(DIR) > result
sort result > result.sort
find $(DIR) > result2
sort result2 > result2.sort
wc *.sort
diff *.sort
 
clean:
rm -f *.beam
 
cleantest:
rm -f result result.sort
rm -f result2 result2.sort
/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