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 compiled\n")
end
end
run()
我的“设置数字命令”不起作用,变量num1和num2设置为0,并且它们不会更改,因此我被困了30分钟左右,一直在思考如何解决它,而我却没有想到如何解决它。
变量num1和num2设置为0,并且它们不会改变
因为您在循环开始时将它们重置为0。
更改此:
for char in data:lines() do
local num1 = 0
local num2 = 0
...
对此:
local num1 = 0
local num2 = 0
for char in data:lines() do
...
顺便说一句,您可以替换为:
local data = io.open(file, "r")
for char in data:lines() do
...
end
data:close()
与此相同的是:
for lines in io.lines(file) do
...
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句