Titolo: Uso della ricorsione e metodi ricorsivi
Categoria: Stile |
|
Ultimo Aggiornamento: 09/11/04 |
Uno dei sistemi di programmazione più affascinanti è sicuramente dato dall'uso della ricorsione: lo scopo è fondamentalmente quello di scrivere meno codice possibile, facendo in modo che operazioni identiche siano ripetute in cascata sempre dallo stesso metodo: facciamo un esempio.
Supponiamo di voler scrivere un metodo che conti il numero di file presenti in una cartella e nelle sue sottocartelle. Usando la ricorsione non faremo altro che chiamare il metodo di conteggio dei file sulla cartella madre e su tutte le sottocartelle in essa contenute. Ecco il codice:
C_STRING(255;$1)
ARRAY TEXT($FolderList;0)
ARRAY TEXT($DocumentList;0)
C_LONGINT($piattaforma;$i)
C_LONGINT($0;$count)
` ottengo l'elenco di file e cartelle
FOLDER LIST($1;$FolderList)
DOCUMENT LIST($1;$DocumentList)
$count:=Size of array($DocumentList)
If (Size of array($FolderList)>0)
For ($i;1;Size of array($FolderList))
PLATFORM PROPERTIES($piattaforma)
` richiamo il metodo di conta su ogni
`sottocartella della cartella corrente
If ($piattaforma#3)
$count:=$count+ContaFile($1+$FolderList{$i}+":") `RICORSIONE
Else $count:=$count+ContaFile($1+$FolderList{$i}+"\\")`RICORSIONE
End if End for End if $0:=$count
Il metodo chiamante sarà:
$count:=ContaFile(Select folder("Scegli la cartella da contare"))
Inviato da: PierPaolo Sichera |
|
Visite: 13110 |
Se accedi con utente e password, puoi aggiungere dei commenti.