2017-12-05 10 views
1

Ich habe ein Skript in Lua und ich muss die Variable res drucken, aber ich weiß nicht, wie dies zu drucken ist. Ich bekomme das Ergebnis der Funktion in einer anderen Funktion, wo ichTabelle in Lua drucken

function parseCSVLine(line) 
    local res = {} 
    local pos = 1 
    local sep = ',' 
    while true do 
    local c = string.sub(line,pos,pos) 
    if (c == "") then break end 
    if (c == '"') then 
     -- quoted value (ignore separator within) 
     local txt = "" 
     repeat 
      local startp,endp = string.find(line,'^%b""',pos) -- Digitos 
      txt = txt..string.sub(line,startp+1,endp-1) 
      pos = endp + 1 
      c = string.sub(line,pos,pos) 
      if (c == '"') then txt = txt..'"' end 
      -- check first char AFTER quoted string, if it is another 
      -- quoted string without separator, then append it 
      -- this is the way to "escape" the quote char in a quote. example: 
      -- value1,"blub""blip""boing",value3 will result in blub"blip"boing for the middle 
     until (c ~= '"') 
     table.insert(res,txt) 
--  assert(c == sep or c == "") 
     pos = pos + 1 
    else 
     -- no quotes used, just look for the first separator 
     local startp,endp = string.find(line,sep,pos) 
     if (startp) then 
      table.insert(res,string.sub(line,pos,startp-1)) 
      pos = endp + 1 
     else 
      -- no separator found -> use rest of string and terminate 
      table.insert(res,string.sub(line,pos)) 
      break 
     end 
    end 
    end 
    return res 
end 

Beispiel

local result = parseCSVLine(line) 

Here I drucken wollte das Ergebnis

Antwort

1

res in parseCSVLine scheint drucken tun wollte zu erstellenden als Liste. So versuchen Sie das:

for i,v in ipairs(result) do print(i,v) end