use:
import std.conv;
... i.to!string ...
```
import std.stdio;
import std.conv;
static foreach(i; 0 .. 10) {
mixin(create_fn!(i.to!string));
}
enum create_fn(string num) = `
void function_`~ num ~`() { writeln("Hello from function `~ num
~`!"); }
`;
void main() {
function_9();
}
```
$ dmd -c gen_fun_i.d
$ nm gen_fun_i.o | grep function_
0000000000000000 W _D9gen_fun_i10function_0FZv
0000000000000000 W _D9gen_fun_i10function_1FZv
0000000000000000 W _D9gen_fun_i10function_2FZv
0000000000000000 W _D9gen_fun_i10function_3FZv
0000000000000000 W _D9gen_fun_i10function_4FZv
0000000000000000 W _D9gen_fun_i10function_5FZv
0000000000000000 W _D9gen_fun_i10function_6FZv
0000000000000000 W _D9gen_fun_i10function_7FZv
0000000000000000 W _D9gen_fun_i10function_8FZv
0000000000000000 W _D9gen_fun_i10function_9FZv
$ dmd gen_fun_i.d
$ ./gen_fun_i
Hello from function 9!
On Monday, 9 October 2023 at 16:33:32 UTC, rempas wrote:
Let's see the following example:
```d
import std.stdio;
static foreach(i; 0 .. 10) {
mixin(create_fn!(i.stringof));
}
enum create_fn(string num) = `
void function_`~ num ~`() { writeln("Hello from function `~
num ~`!"); }
`;
void main() {
function10();
}
```
I'm trying to create a series of function. There will be ten of
them, and they will be called `function_0`, `function_1`, etc.
However, in my example, "stringof" returns the character "i"
itself and turns that into a string instead of getting its
actual value (number).
Any ideas how I can achieve what I'm trying to achieve?