Just one time
    Andrea Fontana via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Tue Oct 20 08:48:46 PDT 2015
    
    
  
It happens I need to perform an operation just one time (inside a 
function, a loop...)
I wonder if doing this it's a good idea or not.
bool isFirstTime(alias T)()
{
	static val = true;
	if (val)
	{
		val = false;
		return true;
	}
	return false;
}
So:
void my_func()
{
	if (isFirstTime!my_func) writeln("First call!");
	else writeln("Just another call");
}
myfunc(); // Print First call!
myfunc(); // Print Just another call;
Or (for example inside a for loop):
assert(isFirstTime!"blah" == true);
assert(isFirstTime!"blah" == false);
Does it work as expected?
    
    
More information about the Digitalmars-d-learn
mailing list