closure_bind_2.gravity 393 B

1234567891011121314151617181920212223242526272829303132
  1. #unittest {
  2. name: "Closure bind test 2.";
  3. result: 183;
  4. };
  5. var g = 33;
  6. class Class1 {
  7. func foo1 () {
  8. g += 100;
  9. }
  10. }
  11. class Class2 {
  12. func foo1 () {
  13. g += 50;
  14. }
  15. }
  16. func main() {
  17. var c1 = Class1();
  18. var c2 = Class2();
  19. var closure = {self.foo1()};
  20. closure.bind(c1);
  21. closure();
  22. closure.bind(c2);
  23. closure();
  24. return g;
  25. }