More on recursion...
Michael Kann
mikekann at yahoo.com
Fri Aug 30 09:01:01 EDT 2002
Sjoerd, thank you for the examples. Mike
--- Sjoerd Op 't Land <sjoerdoptland at mac.com> wrote:
> 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
>
> _______________________________________________
> metacard mailing list
> metacard at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/metacard
__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com
More information about the metacard
mailing list