Hi,

I am sending examples of functions:

The first function is functional in ConTeXt MKIV even LuaLaTeX.

-- Global variables for setup in library (it be used when glob. vars Sep, Ld, Rd is not setting in main aplication):
UserCSVSeparator=';'
UserCSVLeftDelimiter=''
UserCSVRightDelimiter=''




function ParseCSVdata(s)
    local Sep = (Sep == nil) and UserCSVSeparator or Sep
    local Ld = (Ld == nil) and UserCSVLeftDelimiter or Ld
    local Rd = (Rd == nil) and UserCSVRightDelimiter or Rd
    if Ld ~= '' or Rd ~= '' then
local s=string.sub(s, string.find(s, Ld)+1, string.find(s, Rd,-1)-1)
    end
    local fieldsep=tostring(Rd..Sep..Ld)
    local result = {}
  local from  = 1
  local sep_from, sep_to = string.find( s, fieldsep, from  )
  while sep_from do
    table.insert( result, string.sub( s, from , sep_from-1 ) )
    from  = sep_to + 1
    sep_from, sep_to = string.find( s, fieldsep, from  )
  end
  table.insert( result, string.sub( s, from  ) )
  return result
end


The second is more universal, but it only works in ConTeXt MKIV.
LuaLaTeX report error:  "attempt to call field 'split' (a nil value) ... ."

function ParseCSVdata(string2parse, separator, leftdelimiter, rightdelimiter)
    Sep = (Sep == nil) and UserCSVSeparator or Sep
    Ld = (Ld == nil) and UserCSVLeftDelimiter or Ld
    Rd = (Rd == nil) and UserCSVRightDelimiter or Rd
  local separator = (separator == nil) and Sep or separator
    local leftdelimiter = (leftdelimiter == nil) and Ld or leftdelimiter
    local rightdelimiter = (rightdelimiter == nil) and Rd or rightdelimiter
    local result={}
        if leftdelimiter ~= '' and rightdelimiter ~= '' then
string.gsub(string2parse, leftdelimiter.."(.-)"..rightdelimiter, function(a) table.insert(result,a) end )
        else
          result=string.split(string2parse,separator)
        end
    return result
end


I would like to benefit from the second function, but I want the application was applicable even LuaLaTeX

Thanx Jaroslav




Dne 5.6.2010 22:19, Jaroslav Hajtmar napsal(a):
Hi,
I did a Lua application for ConTeXt, and now I wanted to adapt it to work even LuaLaTeX. On what needs to be careful? Compiling by LuaLaTeX specific messages appear as if the Lua in LuaLaTeX didnt know some Lua commands (i.e. split, find .... ).

On what needs to be careful generaly when programming applications for LuaLaTeX?

Thanx Jaroslav
___________________________________________________________________________________ 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
___________________________________________________________________________________

Reply via email to