1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import std.stdio; class Foo { int b = 5; auto bar(int a) { return delegate() { return a + b; }; } } void main(string[] args) { auto f = new Foo; auto dg = f.bar(5); writeln (dg() == 10); f.b = 10; writeln (dg() == 15); } |
aW1wb3J0IHN0ZC5zdGRpbzsKCmNsYXNzIEZvbwp7CiAgICBpbnQgYiA9IDU7CiAgICBhdXRvIGJhcihpbnQgYSkKICAgIHsKICAgICAgICByZXR1cm4gZGVsZWdhdGUoKSB7IHJldHVybiBhICsgYjsgfTsKICAgIH0KfQoKdm9pZCBtYWluKHN0cmluZ1tdIGFyZ3MpCnsKICAgIGF1dG8gZiA9IG5ldyBGb287CiAgICBhdXRvIGRnID0gZi5iYXIoNSk7CgogICAgd3JpdGVsbiAoZGcoKSA9PSAxMCk7CgogICAgZi5iID0gMTA7CiAgICB3cml0ZWxuIChkZygpID09IDE1KTsKfQ==
-
upload with new input
-
result: Success time: 0.01s memory: 2120 kB returned value: 0
import std.stdio; class Foo { int b = 5; auto bar(int a) { return delegate() { return a + b; }; } } void main(string[] args) { auto f = new Foo; auto dg = f.bar(5); writeln (dg() == 10); f.b = 10; writeln (dg() == 15); f.b = 110; writeln (dg() == 115); }true true
-
result: Success time: 0.01s memory: 2120 kB returned value: 0
true true


