Closure as filter.
The build was successful.
Details
The build was successful.
Details
This commit is contained in:
parent
5cc803d07c
commit
aae526b1d4
|
@ -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 )
|
||||
*/
|
|
@ -0,0 +1,8 @@
|
|||
array(int, 3) {
|
||||
[0] =>
|
||||
int(897)
|
||||
[1] =>
|
||||
int(123)
|
||||
[2] =>
|
||||
int(101)
|
||||
}
|
Loading…
Reference in New Issue