On Tuesday, 20 October 2015 at 18:08:33 UTC, Ali Çehreli wrote:
On 10/20/2015 08:48 AM, Andrea Fontana wrote:
It happens I need to perform an operation just one time (inside a
function, a loop...)

An idea that uses a function pointer where the first step does its task and then sets the stage for the following steps:

import std.stdio;
import std.range;
import std.algorithm;

void firstStep() {
    writeln("First call!");
    takeAStep = &followingSteps;
}

void followingSteps() {
    writeln("Just another call");
}

auto takeAStep = &firstStep;

void main() {
    3.iota.each!(_ => takeAStep());
}

First call!
Just another call
Just another call

Ali

Nice idea, but I can't "reuse" it :)

Reply via email to