Closure as filter.
The build was successful. Details

This commit is contained in:
Rafal Kupiec 2019-04-11 09:10:03 +02:00
parent 5cc803d07c
commit aae526b1d4
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
2 changed files with 36 additions and 0 deletions

28
tests/anon_filter.aer Normal file
View File

@ -0,0 +1,28 @@
class Program {
private callback $condition = bool(int $x) { return ($x > 100); };
private int[] $numbers = {34, 56, 22, 1, 5, 67, 897, 123, 55, 101};
int[] filter(callback $condition, int[] $numbers) {
int $len = sizeof($numbers);
int[] $filtered;
for(int $i = 0; $i < $len; $i++) {
if($condition($numbers[$i])) {
$filtered[] = $numbers[$i];
}
}
return $filtered;
}
void main() {
int[] $filtered = $this->filter($this->condition, $this->numbers);
var_dump($filtered);
}
}
/*
* Should output
Array ( [0] => 897 [1] => 123 )
*/

8
tests/anon_filter.exp Normal file
View File

@ -0,0 +1,8 @@
array(int, 3) {
[0] =>
int(897)
[1] =>
int(123)
[2] =>
int(101)
}