Thanks for the proposed solution. It also works in my slightly bigger program (although I do not like to make servers more global).

I tried also the following (which unfortunately also does not work as intended):

```D
import std;
string doSomething(string[] servers, string user) {
    return user ~ servers[0];
}

int main()
{
    auto users = ["u1", "u2", "u3"];
    auto servers = ["s1", "s2", "s3"];
auto usersWithServers = users.map!(user => tuple!("user", "servers")(user, servers)).array; writeln(map!(userWithServers => userWithServers.servers.doSomething(userWithServers.user))(usersWithServers)); writeln(taskPool.amap!(userWithServers => userWithServers.servers.doSomething(userWithServers.user))(usersWithServers));
    return 0;
}
```

Here I try to put the data I need together into one tuple ("manually") and then pass it all to amap. Can you explain me, where here a double context is needed? Because all data now should be passed as arguments to amap?

Kind regards,
Christian

Reply via email to