prolog::filter/3

filter(+ StreamInp, + StreamOut, + Goal)*

For every line LineIn in stream StreamInp, execute call(Goal,LineIn,LineOut), and output LineOut to stream StreamOut. If call(Goal,LineIn,LineOut) fails, nothing will be output but execution continues with the next line. As an example, consider a procedure to select the second and fifth field of a CSV table : ```

select(Sep, In, Out) :- fields(In, Sep, [,F2,,,F5|]), fields(Out,Sep, [F2,F5]).

select :- filter( "," , ```

Private-func:

1. prolog::filter_3::filter/3(int ARG1, int ARG2, int ARG3)():