Filter: Difference between revisions
→{{header|Picat}}
No edit summary |
|||
Line 2,599:
$evens = array_filter($arr, "is_even");
print_r($evens);</lang>
=={{header|Picat}}==
List comprehension is probably the best way of filtering:
<lang Picat>[I : I in 1..20, I mod 2 == 0]</lang>
A more general version of filtering is to use <code>call/1</code> with a defined predicate (here <code>p/1</code>):
<lang Picat>go =>
L = 1..20,
A = filter(L,p).
p(N) => N mod 2 == 0.
filter(A,F) = [N : N in A, call(F,N)].</lang>
This general version might be slower since using <code>call/1</code> has some overhead.
=={{header|PicoLisp}}==
|