From ee7b1e56ae31145fc2312280e759d1b57be3a6fd Mon Sep 17 00:00:00 2001 From: belliash Date: Wed, 10 Apr 2019 11:19:29 +0200 Subject: [PATCH] Another test of closure. --- tests/extended_closure.aer | 24 ++++++++++++++++++++++++ tests/extended_closure.exp | 1 + 2 files changed, 25 insertions(+) create mode 100644 tests/extended_closure.aer create mode 100644 tests/extended_closure.exp diff --git a/tests/extended_closure.aer b/tests/extended_closure.aer new file mode 100644 index 0000000..a84f94a --- /dev/null +++ b/tests/extended_closure.aer @@ -0,0 +1,24 @@ +class Dog { + public string $name; + public string $color; + + public void __construct(string $name, string $color) { + $this->name = $name; + $this->color = $color; + } + + public callback greet(string $greeting) { + return void() using ($greeting) { + print("$greeting, I am a {$this->color} dog named {$this->name}\n"); + }; + } +} + +class Program { + + void main() { + object $dog = new Dog('Alex', 'red'); + callback $c = $dog->greet('Hello'); + $c(); + } +} diff --git a/tests/extended_closure.exp b/tests/extended_closure.exp new file mode 100644 index 0000000..b6228a0 --- /dev/null +++ b/tests/extended_closure.exp @@ -0,0 +1 @@ +Hello, I am a red dog named Alex