More on recursion...
Sjoerd Op 't Land
sjoerdoptland at mac.com
Fri Aug 30 02:20:00 EDT 2002
Michael Kann wrote/ schreef:
> <snip>
> Recursion is one of those items like the ASCII chart
> that for some reason must be in all programming books.
> For what most of us are doing here it really is
> unnecessary and can cause problems.
I disagree; what is a more elegant handler to calculate 7!, faculty(7)?
function faculty v
if v is 1 then return 1
else return v*faculty(v-1)
end faculty
Or to make a list of all files (also in subfolders) in a specific folder?
function deepFiles startDir
set the cursor to busy
if it is "Cancel" then exit to top
set the directory to startDir
local tFiles
repeat for each line tFile in the files
put startDir & "/" & tFile into line (the number of lines in tFiles
+ 1) of tFiles
end repeat
repeat for each line tDir in line 2 to -1 of the directories
put deepFiles(startDir & "/" & tDir) into line (the number of lines in
tFiles + 1) of tFiles
set the directory to startDir
end repeat
return tFiles
end deepFiles
Or to repeat a string (just elegant):
function repeatstring rChunk,rTimes
if rTimes is 1 then return rChunk
else return rChunk & repeatString(rChunk,rTImes-1)
end repeatstring
I think, if one really thinks structured, it's possible to make things much
simpler with recurred functions.
> <snip>
> Good luck, Mike
Regards, / Groeten,
Sjoerd
More information about the metacard
mailing list