/ / Ma commande d'ajout ne fonctionne pas - lua

Ma commande d'ajout ne fonctionne pas - lua

function read_file(file)
local data = io.open(file, "r")
for char in data:lines() do
local num1 = 0
local num2 = 0
--Print statement
if char:sub(1, 6) == "print>" then
print(char:sub(7))
end
--Setting numbers command
if char:sub(1, 5) == "num1>" then
num1 = char:sub(6)
end
if char:sub(1, 5) == "num2>" then
num2 = char:sub(6)
end
--The add command
if char:sub(1, 5) == "add()" then
print(num1 + num2)
end
end
data:close()
end

function run()
while true do
print("Open a file")
file = io.read()
print("")
print("Opening file: "..file)
print("")
read_file(file)
print("")
print("Successfully compiledn")
end
end

run()

Ma "commande de numéros de réglage" ne fonctionne pas, leLes variables num1 et num2 sont définies sur 0 et ne changeront donc pas. Cela fait 30 minutes que je suis coincée à réfléchir à la façon de la réparer et je ne peux pas penser à la façon de la réparer.

Réponses:

2 pour la réponse № 1

les variables num1 et num2 sont définies sur 0 et ne changeront pas

Parce que vous les réinitialisez à 0 au début de la boucle.

Change ça:

for char in data:lines() do
local num1 = 0
local num2 = 0
...

Pour ça:

local num1 = 0
local num2 = 0
for char in data:lines() do
...

À propos, vous pouvez remplacer ceci:

local data = io.open(file, "r")
for char in data:lines() do
...
end
data:close()

Avec cela, qui fait la même chose:

for lines in io.lines(file) do
...
end