[REBOL] Re: Return of a function
From: ingo::2b1::de at: 19-Apr-2002 13:11
Hi Philippe,
Philippe Oehler wrote:
> Why hm is local to function ? There's no /local refinement + The hm is
> called outside. So in my understanding, hm shouldn't be local..
_All_ arguments to functions are local to that function. Think about it:
do you really want all arguments to functions be defined in the global
context?
hm is not _called_ outside the function, it only gets its _value_ from
outside.
> So what I have to do to have a global variable ??
In Rebol, by default, everything is global, except when explicitly
noted. So, for you, just just change it like this:
transfo-time: func [hm-arg] [
hm: parse hm-arg "."
hm/1: to-integer hm/1
hm/2: to-integer hm/2
hm: to-time join hm/1 [":" hm/2]
hm
]
Now hm is not explicitly listed as local, and thus it's global. (A word
to the wise, I would _not_ recommend to program it this way.)
> why do u write heure: transfo-time heure.. ?
transfo-time returns the last value, which is hm. Now Sunanda sets the
word heure - which held the time string in the beginning - to the value
returned by transfo-time, which is the computed time value.
I hope that helps,
Ingo