Struct nested function

vino akashvino79 at gmail.com
Wed Sep 13 05:58:13 UTC 2023


Hi All,

   Request your help, I have a struct which has many functions, I 
need to run a function from within another function(From Display 
function execute the runner function), an example as below

```
import std.stdio: writeln;
import std.algorithm: joiner;
import std.parallelism: task;
import std.typecons: tuple;

struct MainEngine {
     int rno;
     string firstname;
     string lastname;
     int age;

     this(in int _rno) { rno = _rno; }
     auto ref FirstName(in string _firstname) { firstname = 
_firstname; return this; }
     auto ref lastName(in string _lastname) { firstname = 
_lastname; return this; }
     auto ref Age(in int _age) { age = _age; return this; }
     auto Display () {

         auto runner(string status = "Male") {
         	auto record = tuple([firstname,",",lastname].joiner, 
age, status);
	 		return record;
         }
         string *runnerptr = &runner;

         auto result = task(*runnerptr);
         result.executeInNewThread;
         result.yieldForce;
         return result;
     }
}

void main () {
     auto mrunner = 
MainEngine(1).FirstName("Fname").lastName("Lname").Age(25).Display();
	writeln(mrunner);
}
```

From,
Vino


More information about the Digitalmars-d-learn mailing list