2016-11-27 3 views
1

Ich muss alle Zeilen aus einer Datei in einer Tabelle speichern, aber ich muss es an einem bestimmten Punkt zu lesen. Hier ist die Datei Beispiel:Starten Sie das Lesen der Datei von einer bestimmten Zeile

class Foo as 
attribute max : number 
def static show as 
count : number 
begin 
io.print(count) 
return count 
end 
attribute min : number 
end 
program 
var x : number 
var foo : Foo 
x = 20 
foo = new Foo 
foo.show(x) 
end 

Ich brauche in Programm zu starten, zu lesen und speichern alles unter Programm in einer Tabelle.

Ich habe dies getan:

for line in io.lines(file) do 
    table.insert(program.body, line); 
end; 

Aber das (natürlich) in einer Schleife durch die gesamte Datei. Ich brauche Schleife von Programm bis Ende.

Antwort

0
local inside 
for line in io.lines(file) do 
    inside = inside or line:match"^program" 
    table.insert(program.body, inside and line); 
end; 
+0

Könnten Sie mir bitte erklären, was in der Variable "Inside" passiert? Vielen Dank. :) –

+0

'inside' ist' nil' vor der Zeile, die mit "program" beginnt und nicht nach der Zeile "nil" ist. ["and" in Lua] (https://www.lua.org/pil/3.3.html) –

Verwandte Themen