digitalmars.D.learn - Pass lambda into template
- Andrey (4/8) Sep 03 2018 Hello,
- Andrea Fontana (4/12) Sep 03 2018 Not the best solution, but did you try to make querty template
- Paul Backus (7/15) Sep 03 2018 Congratulations, you've run into one of D's oldest and most
- vit (4/12) Sep 03 2018 Try this:
Hello, Here is a code with comments: https://run.dlang.io/is/BNl2Up. I don't understand how to pass lambda into template. I get an error:onlineapp.d(18): Error: template instance `qwerty!((i) => "arg" ~ i.to!string ~ "[0] == '?'", "||")` cannot use local __lambda1 as parameter to non-global template qwerty(alias mapper, alias delimiter)
Sep 03 2018
On Monday, 3 September 2018 at 09:09:44 UTC, Andrey wrote:Hello, Here is a code with comments: https://run.dlang.io/is/BNl2Up. I don't understand how to pass lambda into template. I get an error:Not the best solution, but did you try to make querty template global adding a third parameter to pass count? Andreaonlineapp.d(18): Error: template instance `qwerty!((i) => "arg" ~ i.to!string ~ "[0] == '?'", "||")` cannot use local __lambda1 as parameter to non-global template qwerty(alias mapper, alias delimiter)
Sep 03 2018
On Monday, 3 September 2018 at 09:09:44 UTC, Andrey wrote:Hello, Here is a code with comments: https://run.dlang.io/is/BNl2Up. I don't understand how to pass lambda into template. I get an error:Congratulations, you've run into one of D's oldest and most annoying known bugs, issue 5710: https://issues.dlang.org/show_bug.cgi?id=5710 The solution is to define `qwerty` outside of `exec`, and add an additional parameter to pass in `count`: https://run.dlang.io/is/VTeizmonlineapp.d(18): Error: template instance `qwerty!((i) => "arg" ~ i.to!string ~ "[0] == '?'", "||")` cannot use local __lambda1 as parameter to non-global template qwerty(alias mapper, alias delimiter)
Sep 03 2018
On Monday, 3 September 2018 at 09:09:44 UTC, Andrey wrote:Hello, Here is a code with comments: https://run.dlang.io/is/BNl2Up. I don't understand how to pass lambda into template. I get an error:Try this: if(mixin(qwerty!((int i) => "arg" ~ i.to!string ~ "[0] == '?'", "||")))onlineapp.d(18): Error: template instance `qwerty!((i) => "arg" ~ i.to!string ~ "[0] == '?'", "||")` cannot use local __lambda1 as parameter to non-global template qwerty(alias mapper, alias delimiter)
Sep 03 2018