The state of string interpolation
    Mike Franklin 
    slavo5150 at yahoo.com
       
    Fri Dec  7 02:38:30 UTC 2018
    
    
  
On Friday, 7 December 2018 at 01:19:35 UTC, Adam D. Ruppe wrote:
> On Friday, 7 December 2018 at 00:43:43 UTC, Mike Franklin wrote:
>> Can that be extended somehow to pass around expressions too 
>> (i.e. expressions as rvalues)?
>
> We kinda-sorta can, with `lazy void`.
I'm not sure what you mean.  Please elaborate.
Steven gave this example[1] here:
> This doesn't work:
> 
> foo!(a + b);
> 
> But this does:
> 
> foo!(() => a + b);
What I'm thinking is if `foo` is declared as `foo(alias a)`, then 
`a` could either accept either a symbol (currently possible) or 
an expression (not currently possible; this is what I meant by 
"expressions as rvalues").  Depending on how the body of `foo` 
utilized `a` it could more or less do the equivalent of `foo!(() 
=> a + b)`.
Mike
[1] - https://forum.dlang.org/post/puc2f3$27tr$1@digitalmars.com
    
    
More information about the Digitalmars-d
mailing list