Hi All,
The the below code is not working, hence requesting your help.
Code:
import std.stdio;
import std.process: environment;
void main () {
int* ext(string) = &environment.get("PATHEXT");
writeln(*ext);
}
Thread overview |
---|
August 28, 2023 Pointer to environment.get | ||||
---|---|---|---|---|
| ||||
Hi All, The the below code is not working, hence requesting your help. Code:
|
August 28, 2023 Re: Pointer to environment.get | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vino | On Monday, 28 August 2023 at 06:38:50 UTC, Vino wrote: >Hi All, The the below code is not working, hence requesting your help. Code:
Problems is that "PATHEXT" is a runtime argument. If you really want to get a pointer to the function for that runtime argument you can use a lambda:
There might be other ways, but less idiomatic (using a struct + opCall, a.k.a a "functor") |
August 28, 2023 Re: Pointer to environment.get | ||||
---|---|---|---|---|
| ||||
Posted in reply to Basile B. | On Monday, 28 August 2023 at 10:20:14 UTC, Basile B. wrote: >On Monday, 28 August 2023 at 06:38:50 UTC, Vino wrote: >Hi All, The the below code is not working, hence requesting your help. Code:
Problems is that "PATHEXT" is a runtime argument. If you really want to get a pointer to the function for that runtime argument you can use a lambda:
There might be other ways, but less idiomatic (using a struct + opCall, a.k.a a "functor") To go further, the correct code for syntax you wanted to use is actually
But as you can see that does not allow to capture the argument. Also it only work as AliasDeclaration RHS. |
August 30, 2023 Re: Pointer to environment.get | ||||
---|---|---|---|---|
| ||||
Posted in reply to Basile B. | On Monday, 28 August 2023 at 10:27:07 UTC, Basile B. wrote: >On Monday, 28 August 2023 at 10:20:14 UTC, Basile B. wrote: >[...] To go further, the correct code for syntax you wanted to use is actually
But as you can see that does not allow to capture the argument. Also it only work as AliasDeclaration RHS. Thank you |