fork download
  1. import std.c.stdio;
  2.  
  3. class Test{
  4. this(int value){this.value = value;}
  5. int value;
  6. }
  7. void main(){
  8. void delegate()[] funcs;
  9. Test[] tests;
  10. tests ~= new Test(0);
  11. tests ~= new Test(1);
  12. tests ~= new Test(2);
  13. foreach(test;tests){
  14. void delegate() bind(Test x){
  15. return delegate void(){printf("test.value = %d\n",x.value);};
  16. }
  17. funcs ~= bind(test);
  18. }
  19. foreach(func;funcs){
  20. func();
  21. }
  22. }
Success #stdin #stdout 0s 2040KB
stdin
Standard input is empty
stdout
test.value = 0
test.value = 1
test.value = 2