Hi Hans.
Once again. It occurred to me to send a minimum Hans's example. When I
compile with new beta version are the results the same for header and
noheader versions, while a compilation of TL 2014 Contex proceeds
differently.
Jaroslav Hajtmar
\starttext
% csvfile.txt content:
% first,second,third,fourth
% 1,"2","3","4"
% "a","b","c","d"
% "foo","bar""baz","boogie","xyzzy"
%
\startluacode
local mycsvsplitter = utilities.parsers.rfc4180splitter()
local crap = io.loaddata("csvfile.txt")
local list, names = mycsvsplitter(crap,true) inspect(list) inspect(names)
-- local list, names = mycsvsplitter(crap) inspect(list)
inspect(names)
context.starttabulate { "|l|r|" }
for i=1,#list do
local l = list[i]
context.NC() context(l[1])
context.NC() context(l[3])
context.NC()
context.NR()
end
context.stoptabulate()
\stopluacode
\stoptext
Dne 15. 6. 2015 v 11:00 Jaroslav Hajtmar napsal(a):
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@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
___________________________________________________________________________________
___________________________________________________________________________________
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
___________________________________________________________________________________
___________________________________________________________________________________
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
___________________________________________________________________________________