Logo

Programming-Idioms

History of Idiom 247 > diff from v7 to v8

Edit summary for version 8 by Bart:
New Pascal implementation by user [Bart]

Version 7

2020-12-09, 12:13:48

Version 8

2020-12-09, 17:07:34

Idiom #247 Filter list in-place

Remove all the elements from list x that don't satisfy the predicate p, without allocating a new list.
Keep all the elements that do satisfy p.

For languages that don't have mutable lists, refer to idiom #57 instead.

Idiom #247 Filter list in-place

Remove all the elements from list x that don't satisfy the predicate p, without allocating a new list.
Keep all the elements that do satisfy p.

For languages that don't have mutable lists, refer to idiom #57 instead.

Variables
x,p
Variables
x,p
Extra Keywords
keep conserve preserve mutable
Extra Keywords
keep conserve preserve mutable
Imports
classes
Code
for i := x.count-1 downto 0 do
  if not p(x.items[i]) then x.delete(i);