D - Local Functions
- Kublai Kahn (16/16) Feb 01 2003 Is there a provision for local functions in D?
- Erik Rainey (15/31) Feb 01 2003 Just a fine point, the symbols might have been globally accessable b...
- Walter (4/5) Feb 09 2003 Yes. Just identify them as private,
Is there a provision for local functions in D?
Could you differentiate between global and local
functions?
In C, all the functions are global. What if you
had local functions and global functions in D?
This is like public and private in C++ but different.
Local functions would only be accessible in a module.
But other modules or functions wouldn't be able to address
them out of scope.
This is an example:
local int signature(int lastname, middlename, firstname)
{
char string[];
...
return(0);
}
Feb 01 2003
Just a fine point, the symbols might have been globally accessable but
only if they were known. So in usage everything is local until exposed. It
is, effectively, data-hiding until someone knows how to unhide the symbol.
More to the point what benefit can be derived from a local keyword when
everything is pretty much local by convention of using imports to get at
symbols you'd like to use, like C? I sense that the example code could be
convicingly crafted into a class to use those data-hiding features instead
of adding "local".
e.m.rainey
http://www.erik.rainey.name
--
e.m.rainey
http://www.erik.rainey.name
"Kublai Kahn" <Kublai_member pathlink.com> wrote in message
news:b1hsjv$5td$1 digitaldaemon.com...
Is there a provision for local functions in D?
Could you differentiate between global and local
functions?
In C, all the functions are global. What if you
had local functions and global functions in D?
This is like public and private in C++ but different.
Local functions would only be accessible in a module.
But other modules or functions wouldn't be able to address
them out of scope.
This is an example:
local int signature(int lastname, middlename, firstname)
{
char string[];
...
return(0);
}
Feb 01 2003
"Kublai Kahn" <Kublai_member pathlink.com> wrote in message news:b1hsjv$5td$1 digitaldaemon.com...Is there a provision for local functions in D?Yes. Just identify them as private, private void func() { }
Feb 09 2003









"Erik Rainey" <erik rainey.name> 