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