Ho un sacco di dati sotto forma di una tabella Lua e vorrei analizzare questi dati in una struttura utilizzabile in C#.Come analizzare una tabella Lua costante preferibilmente senza caricarla nella Lua VM?
Il problema con le tabelle Lua è che esistono campi facoltativi, le tabelle sono molto dinamiche e non sono solo un dizionario con un tipo per la chiave e un tipo per il valore. È possibile avere una tabella Lua con chiavi sia stringa sia intera e valori di tipo intero, stringa e tabella anche.
Purtroppo, i dati che sto analizzando si avvalgono della natura dinamica del linguaggio e non sono realmente strutturati in alcun modo diretto. Ciò richiede una rappresentazione dinamica dei dati, utilizzando ad esempio Dictionary<object, dynamic>
.
Il formato dei dati è ad es. (Da http://ideone.com/9nzXvt)
local mainNode =
{
[0] =
{
Name = "First element",
Comments = "I have comments!",
Data = { {123, 456}; foo = { "bar" } }
},
[1337] =
{
Name = "Another element",
Data = { {0}; foo = nil }
}
}
Esistono librerie là fuori per fare questo? C'è un modo per farlo senza analizzare il carattere dei dati per carattere?
possibile duplicato del [Il modo più semplice per analizzare un datastructure Lua in C#/.Net] (http://stackoverflow.com/questions/881445/easiest-way-to-parse-a-lua -datastructure-in-c-sharp-net) –