Equivalent of C++ #__VA_ARGS__
Adam D. Ruppe
destructionator at gmail.com
Sun Aug 2 16:31:50 UTC 2020
On Sunday, 2 August 2020 at 16:05:07 UTC, Ronoroa wrote:
> That doesn't seem to stringize the args part like in
> #__VA_ARGS__
oh yeah i missed that part.
D basically can't do that exactly, but if you pass the args as
template things directly you can do this:
---
void main(string[] args) {
int a;
int b = 34;
dbg!(a, b); // notice the !
}
void dbg(Args...)(size_t line = __LINE__) {
import std.stdio;
write("#", line, ": ");
foreach(idx, alias arg; Args) {
if(idx) write(", ");
write(arg.stringof, " = ", arg);
}
writeln();
}
---
#4: a = 0, b = 34
Or reformat the output however you want.
More information about the Digitalmars-d-learn
mailing list