Re: Declaring a Function Before it is used
On Tue, 28 Oct 2003 18:09:05 -0500, Michelle Rogers
<michellerogers at bellsouth.net> wrote:
>wait a sec...i thought this language was supposed to be EASIER to use...then
>why would you have to go through all of this for a simple "declare a
>function before it's used"?
Actually it really is not so difficult:
integer r_Even -- extra/instead
integer i
function Odd(integer o)
if o=0 then return 0 end if
if o=1 then return 1 end if
-- return Even(o-1)
return call_func(r_Even,{o-1}) -- extra/instead
end function
function Even(integer e)
if e=0 then return 1 end if
if e=1 then return 0 end if
return Odd(e-1)
end function
r_Even=routine_id("Even") -- extra/instead
? Odd(3)
?Even(3)
? Odd(2)
?Even(2)
Analysis
=======
You've had to replace the one line "return Even(o-1)" with three:
integer r_Even -- extra/instead
return call_func(r_Even,{o-1}) -- extra/instead
r_Even=routine_id("Even") -- extra/instead
YES, there is a (valid) beef about this in this forum.
However, it works, and Eu is fast(er) because of it.
Is it a major problem?
You decide.
Pete
PS I would also sacrifice a little speed for ease of programming.
However, I'm not walking away over this (minor) issue.
PPS In other languages I believe you have to declare a "prototype", or
worse independently define it in a .h file, sometimes anyway.
|
Not Categorized, Please Help
|
|