[NTG-context] Problem with rfc4180splitter in last beta?
Jaroslav Hajtmar
hajtmar at gyza.cz
Mon Jun 15 11:00:19 CEST 2015
After I read my e-mail the I cut more my source code and I am sending
now more minimalized version of minimal example
Sorry, Jaroslav Hajtmar
Here is another minimal version:
% csvfile.txt content:
% first,second,third,fourth
% 1,"2","3","4"
% "a","b","c","d"
% "foo","bar""baz","boogie","xyzzy"
%
\starttext
\startluacode
gCSVHeader=true -- works fine when compiled any version of ConTeXt
--gCSVHeader=false -- crashed, when compiled by last version of
standalone
gColNames={}
gColumnNames={}
local inpcsvfile='csvfile.txt'
local currentlyprocessedcsvfile = io.loaddata(inpcsvfile)
local mycsvsplitter = utilities.parsers.rfc4180splitter{
separator = ',',
quote = '"',
}
if gCSVHeader then
gTableRows, gColumnNames =
mycsvsplitter(currentlyprocessedcsvfile,true)
inspect(gTableRows)
inspect(gColumnNames)
else
gTableRows = mycsvsplitter(currentlyprocessedcsvfile)
inspect(gTableRows)
end
gNumRows=#gTableRows -- Getting number of rows
gNumCols=#gTableRows[1] -- Getting number of columns
context.setgvalue("numrows",tostring(gNumRows))
context.setgvalue("numcols",tostring(gNumCols))
context.setgvalue("filename",tostring(inpcsvfile))
\stopluacode
File \filename\ has \numrows\ lines and \numcols\ columns.
\stoptext
Dne 15. 6. 2015 v 10:45 Jaroslav Hajtmar napsal(a):
> Hi Hans,
> I encountered while experimenting with the latest beta version of
> standalone context to a problem when using the splitter. When I
> process without header file then compilation crashed when you compile
> the latest beta version. Conversely, the processing of a header file
> is no problem. ConTEXt while compiling the 2014 TL is fine in both
> cases. I do not know from which beta version was a problem, I
> discovered it by accident until now. Send minimal example. When
> gCSVHeader = true everything is OK when it is gCSVHeader = false and
> compilation fails.
>
>
> Thanx for any advice
> Jaroslav Hajtmar
>
> Here is my minimal version of problematic example:
>
>
>
> % csvfile.txt content:
> % first,second,third,fourth
> % 1,"2","3","4"
> % "a","b","c","d"
> % "foo","bar""baz","boogie","xyzzy"
> %
>
>
>
> \starttext
>
> \startluacode
> --gCSVHeader=true -- works fine when compiled any version of ConTeXt
> gCSVHeader=false -- crashed, when compiled by last beta version
> of standalone
> gColNames={}
> gColumnNames={}
> local inpcsvfile='csvfile.txt'
> local currentlyprocessedcsvfile = io.loaddata(inpcsvfile)
> local mycsvsplitter = utilities.parsers.rfc4180splitter{
> separator = ',',
> quote = '"',
> }
> if gCSVHeader then
> gTableRows, gColumnNames =
> mycsvsplitter(currentlyprocessedcsvfile,true)
> inspect(gTableRows)
> inspect(gColumnNames)
> for i=1,#gTableRows[1] do
> gColNames[tostring(gColumnNames[i])] = i -- for indexing use
> end
> else
> gTableRows = mycsvsplitter(currentlyprocessedcsvfile)
> inspect(gTableRows)
> -- ad now set column names for withoutheader situation:
> for i=1,#gTableRows[1] do
> context(gTableRows[i])
> gColumnNames[i]='c'..(i)
> end
> end
> gNumRows=#gTableRows -- Getting number of rows
> gNumCols=#gTableRows[1] -- Getting number of columns
>
> context.setgvalue("numrows",tostring(gNumRows))
> context.setgvalue("numcols",tostring(gNumCols))
> context.setgvalue("filename",tostring(inpcsvfile))
> \stopluacode
>
>
> File \filename\ has \numrows\ lines and \numcols\ columns.
>
> \stoptext
> ___________________________________________________________________________________
>
> If your question is of interest to others as well, please add an entry
> to the Wiki!
>
> maillist : ntg-context at ntg.nl /
> http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
> archive : http://foundry.supelec.fr/projects/contextrev/
> wiki : http://contextgarden.net
> ___________________________________________________________________________________
More information about the ntg-context
mailing list