digitalmars.dip.ideas - __HERE__
- monkyyy (31/31) Jun 17 most user written aliasSeq's are repetitive, yet simply nessery
- Paul Backus (4/15) Jun 18 Point of comparison: in Python, this is a built-in function
most user written aliasSeq's are repetitive, yet simply nessery for metaprograming ```d alias foo=...; alias bar=...; alias fizz=...; alias foobar=__HERE__;//seq!(foo,bar,fizz) alias bar=...; ``` `__HERE__` is a special token that evaluates to an alias seq of local symbols defined above it --- ```d auto func1(){...} auto func2(){...} auto func3(){...} static foreach(f;__HERE__){//contains func1, 2 and 3; not f ``` --- like other special tokens it evaluate to the call site ```d template foo(alias bar=__HERE__){ alias foo=__HERE__; } struct foobar{ int i; float f; alias fizz=foo!();//i,f bool b; } ```
Jun 17
On Monday, 17 June 2024 at 16:24:14 UTC, monkyyy wrote:most user written aliasSeq's are repetitive, yet simply nessery for metaprograming ```d alias foo=...; alias bar=...; alias fizz=...; alias foobar=__HERE__;//seq!(foo,bar,fizz) alias bar=...; ``` `__HERE__` is a special token that evaluates to an alias seq of local symbols defined above itPoint of comparison: in Python, this is a built-in function called `locals()`. https://docs.python.org/3/library/functions.html#locals
Jun 18