String interpolation

tired_eyes via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Nov 10 04:23:09 PST 2015


On Tuesday, 10 November 2015 at 11:29:32 UTC, TheFlyingFiddle 
wrote:
> On Tuesday, 10 November 2015 at 10:41:52 UTC, tired_eyes wrote:
>> On Tuesday, 10 November 2015 at 10:33:30 UTC, Tobias Pankrath 
>> wrote:
>> Ruby:
>> a = 1
>> b = 4
>> puts "The number #{a} is less than #{b}"
>>
>> PHP:
>> $a = 1;
>> $b = 4;
>> echo "The number $a is less than $b";
>>
>> D:
>> ???
>
> int a = 1, b = 4;
> writefln("The number %s is less than %s", a, b);
>
> You can't do it the ruby / perl / php way in D. It could be 
> possible if we had AST macros in the language but as it stands 
> now it's not possible to do that.
>
> the closest you could get is something like this:
>
> string s = aliasFormat!("The number $a is less than $b", a, b);
>
> or
>
> aliasWrite!("The number $a is less than $b", a, b);
>
> Not really recommended though as these would end up creating 
> lots of template bloat.

Thank everybody for the answers. I know about writefln, but I was 
hoping I just overlooked some simpler way.






More information about the Digitalmars-d-learn mailing list