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@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
___________________________________________________________________________________