A small question default values in tmplate-functions

Gary Willoughby dev at nomad.so
Tue Jan 28 01:03:34 PST 2014


On Monday, 27 January 2014 at 19:56:05 UTC, Uplink_Coder wrote:
> Hello,
>
> Suppose I have the following function
>
> auto veryStableAPI(string parameter,VaraiadicParams...)() {
>     // do something very slow and stable;
>  ....
> }
>
> auto experimentalReplacement(string parameter,VaraidcParams 
> ...)() {
>  // do the same thing very fast and dangerous
> }
>
> is the following
>
> auto veryStableAPI(bool brave=false, string 
> parameter,VaraiadicParams...) {
>  static if (!brave)
>      // do something very slow and stable;
>  else
>      // do the same thing very fast and dangerous
> }
> valid according to spec ?

import std.stdio;
import core.vararg;

auto veryStableAPI(bool brave = false)(string parameter, ...)
{
	static if (!brave)
	{
		pragma(msg, "I'm not brave");
	}
	else
	{
		pragma(msg, "I'm very brave");
	}
}

void main(string[] args)
{
	veryStableAPI("test");
	veryStableAPI!(true)("test");
}


More information about the Digitalmars-d-learn mailing list