GNU
|
Liberty Eiffel
|
Automated Tests
|
Wiki
|
Savannah project
|
Debian packages
|
Documentation
>
tutorial
>
EXAMPLE4
+
Point of view
All features
ANY
All features
class EXAMPLE4
Summary
top
This example shows how to traverse recursively some readable directory (starting point is computed either from current working directory or from some directory path given as an argument).
Direct parents
Insert list:
ARGUMENTS
Overview
top
Creation features
{
ANY
}
make
Features
{}
make
already_visited_places
:
ARRAY
[
STRING
]
recursive_list_of
(some_path:
STRING
)
{
ANY
}
argument_count
:
INTEGER_32
Number of arguments given to command that started system execution (command name does not count).
argument
(i:
INTEGER_32
):
STRING
i
th argument of command that started system execution Gives the command name if
i
is 0.
command_name
:
STRING
{}
command_arguments
:
FAST_ARRAY
[
STRING
]
Give access to arguments command line including the command name at index 0.
Implementation of
ARGUMENTS
(do not use directly):
{}
se_argc
:
INTEGER_32
To implement
command_arguments
se_argv
(i:
INTEGER_32
):
STRING
To implement
command_arguments
make
effective procedure
{}
top
already_visited_places
:
ARRAY
[
STRING
]
once function
{}
top
recursive_list_of
(some_path:
STRING
)
effective procedure
{}
top
argument_count
:
INTEGER_32
effective function
{
ANY
}
top
Number of arguments given to command that started system execution (command name does not count).
ensure
Result >= 0
argument
(i:
INTEGER_32
):
STRING
effective function
{
ANY
}
top
i
th argument of command that started system execution Gives the command name if
i
is 0.
require
i >= 0
i <=
argument_count
ensure
Result /= Void
command_name
:
STRING
effective function
{
ANY
}
top
command_arguments
:
FAST_ARRAY
[
STRING
]
frozen
once function
{}
top
Give access to arguments command line including the command name at index 0.
This is a once function, so you can modify command-line arguments! (NOTE: just be sure not to remove the first argument, although you may change it)
ensure
not Result.is_empty
se_argc
:
INTEGER_32
{}
top
To implement
command_arguments
se_argv
(i:
INTEGER_32
):
STRING
{}
top
To implement
command_arguments