Is there a simple way to to do this?
enum A{
a1,
a2
}
void fun(A a){...}
void test(){
fun(A.a1); //works
fun(a1); //I'd like a1 to work, but just where an A is expected to avoid
polluting namespace.
}
On 6/08/2014 6:11 p.m., Timothee Cour via Digitalmars-d-learn wrote:
Is there a simple way to to do this?
enum A{
a1,
a2
}
void fun(A a){...}
void test(){
fun(A.a1); //works
fun(a1); //I'd like a1 to work, but just where an A is expected to
avoid polluting namespace.
}
The magic of with
On Wednesday, 6 August 2014 at 07:23:32 UTC, Rikki Cattermole
wrote:
The magic of with statements!
enum A {
a1,
a2
}
void func(A a){}
void main(){
func(A.a1);
with(A) {
func(a1);
}
}
And if you want to be *really* concise:
with (A)
Thanks, I know with statement could be used but I was hoping for a solution
not involving adding syntax to call site.
void fun(with(A){A a}, int b){...} //conceptually like this
void test(){
int a1=1;
fun(A.a1, a1); // would work
fun(a1, a1);// would work
}
On Wed, Aug 6, 2014 at 8:22
On Wednesday, 6 August 2014 at 16:48:57 UTC, Timothee Cour via
Digitalmars-d-learn wrote:
Thanks, I know with statement could be used but I was hoping
for a solution
not involving adding syntax to call site.
If you control the declaration of the enum, you could write:
alias a1 = A.a1;
alias
On Wed, Aug 6, 2014 at 12:04 PM, via Digitalmars-d-learn
digitalmars-d-learn@puremagic.com wrote:
On Wednesday, 6 August 2014 at 16:48:57 UTC, Timothee Cour via
Digitalmars-d-learn wrote:
Thanks, I know with statement could be used but I was hoping for a
solution
not involving adding