Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 如何使add命令找到第一个变量的值,然后将第二个变量的值相加?_Lua - Fatal编程技术网

Lua 如何使add命令找到第一个变量的值,然后将第二个变量的值相加?

Lua 如何使add命令找到第一个变量的值,然后将第二个变量的值相加?,lua,Lua,基本上是这样写的--“Add”我想让它查找我们在文本文件中用我们写下的名称设置的变量,然后查找我们用相同名称设置的另一个变量,例如:V:Var=12(nextline)V:Vr2=10(nextline)Add:Var,Vr2,然后它将添加设置的值 你在正确的轨道上。我要做的更改是将V:之后的内容作为键放在vars表中,并将=之后的内容设置为值,因此: vars = {} values = {} function open(file) lex(file) end function l

基本上是这样写的--“Add”我想让它查找我们在文本文件中用我们写下的名称设置的变量,然后查找我们用相同名称设置的另一个变量,例如:V:Var=12(nextline)V:Vr2=10(nextline)Add:Var,Vr2,然后它将添加设置的值


你在正确的轨道上。我要做的更改是将V:之后的内容作为键放在vars表中,并将=之后的内容设置为值,因此:

vars = {}
values = {}

function open(file)
    lex(file)
end

function lex(file)
    local data = io.open(file, "r")
    for char in data:lines() do
        --Print
        if char:sub(1, 6) == "print:" then
            print(char:sub(7))
        end
        --Integer
        if char:sub(1, 2) == "V:" then
            vars [#vars + 1] = char:sub(3, 5)
            if char:sub(6, 6) == "=" then
                values [#values + 1] = char:sub(7)
            end
            --print("NAME:"..vars [#vars]..", ".."VALUE:"..values [#values])
        end
        --Add
        if char:sub(1, 4) == "add:" then
            if char:sub(5, 7) == vars[#vars] then
                if char:sub(8, 8) == "," then
                    if char:sub(9, 11) == vars[#vars] then
                        print(values[#values] + values[#values])
                        --print(vars[#vars])
                    end
                end
            end
        end
    end
    --Debug purposes
    --[[
    for k, v in pairs(vars) do
        print(k, v)
    end
    for b, a in pairs(values) do
        print(b, a)
    end
    --]]
end

function run()
    while true do
        print("Open a file")
        file = io.read()
        print("File name:"..file)
        print("")
        lex(file)
        print("")
    end
end

run()
然后,您需要为add函数执行以下操作:

if char:sub(1,2) == "V:" and char:sub(6, 6) == "=" then
  vars[char:sub(3,5)] = tonumber(char:sub(7))
end
至少,我想我知道你想要什么。如果不是,你会想更详细地了解你得到了什么以及你期望得到什么

function add_vars(one, two)
  return vars[one] + vars[two]
end