Re: Variable Scope

new topic     » goto parent     » topic index » view thread      » older message » newer message

Rich Klender wrote:
> 
> Hey everybody, surprise!!!  Another question!!
> 
> I read over the part of the manual about variable scope and just want to
> bounce this off everybody to make sure I'm comprehending it correctly.
> 
> Let's say I have the following:
> 
> function somefunc(integer C)
>   integer a,b,c
> 
>   a=1
>   b=2
>   c=3
> return c
> end function
> 
> Ok, now in my main program, because c was returned, I'll be able to "see" that
> c=3.  However, because a and b are "local" to the function, I cannot, for
> instance, in my main program do:
> 
> a=a+1
> 
> and expect to get a=2 as a result.  I think I already know this cause Euphoria
> already told me that a is not defined.
> 
> However, if I do this:
> 

  I'm not saying you can't but I don't like this:

> function somefunc(integer C)
>   global integer a,b,c
> 
>   a=1
>   b=2
>   c=3
> return c
> end function
> 
The globals should be put in your main program.
 They could be put in your include like this":
 -------------------include file----------------
 global integer a,b,c
 
  function somefunc(integer C)
   a=1
   b=2
   c=3
  return c
  end function

 also you could:
   function somefunc(integer C)
   a=1
   b=2
   c=3
  return {a,b,c}
  end function

Note that the capital C is not being used in your function therefore serves no
purpose.

I'm not sure what you're trying to do here.  Capital C and lowercase c are
different but for the sake of clairity using a k would be better.

  
> When I return from to my main program, I should be able to "see" that
> a=1, b=2, etc. even though those variables weren't returned?
> 
> Thanks for the patience!!
> Rich


Don Cole

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu