Hi Sven,

2015-01-23 16:06 GMT-03:00 Sven Van Caekenberghe <s...@stfx.eu>:

> Hi Hernán,
>
> > On 23 Jan 2015, at 19:50, Hernán Morales Durand <
> hernan.mora...@gmail.com> wrote:
> >
> > I used to use a CSV parser from Squeak where I could attach conditional
> iterations:
> >
> > csvParser rowsSkipFirst: 2 do: [: row | " some action ignoring first 2
> fields on each row " ].
> > csvParser rowsSkipLast: 2 do: [: row | " some action ignoring last 2
> fields on each row " ].
>
> With NeoCSVParser you can describe how each field is read and converted,
> using the same mechanism you can ignore fields. Have a look at the senders
> of #addIgnoredField from the unit tests.
>
>
I am trying to understand the implementation, I see you included
#addIgnoredFields: for consecutive fields in
Neo-CSV-Core-SvenVanCaekenberghe.21
A question about usage then, adding ignored field(s) requires adding field
types on all other remaining fields?


> > csvParser rowsWhere: [ " a condition block " ] do: [ : row | " ... " ].
>
> NeoCSVParser behaves a bit like a stream and a bit like a collection,
> there are #next, #atEnd and #upToEnd as well as #do: and  #select:
>
>
I was using the version from the Configuration and missed the
#select:[thenDo:] update.



> > csvParser rowsUpTo: 500000 do: [ " some action for rows up to 500000 " ].
> > csvParser rowsFrom: 2000 to: 5000 do: [ " some action for rows between
> 2000 to 5000 " ].
>
> Those are not there, you will have to count yourself. #next can be used to
> #skip.
>
>
Ok


> > I want to replace the parser with NeoCSVReader, is this easily possible
> with the current implementation?
>
> Should work, let me know if you have any problems.
>
>
Thank you Sven!

Cheers,


>

Reply via email to