如何在 elseif 语句中访问一个变量?使用 Lua 语言。

这段代码用于我正在开发的编程语言,我在运行函数时遇到了麻烦。

虽然上面的代码可以工作,但是有一个问题... 我想打印在“ -函数”下的elseif语句中设置的变量“o”,它检测到我想在函数中打印一些东西,但我不知道如何访问另一个elseif语句中的变量“o”,因为在“- if语句”区域中,它正在查看文件中的代码是否类似于这个if var = 1 > run > functionname,而函数的文件代码看起来像这样func functionname> print > Hello可以工作,并为开发目的,我使其打印“hi”,因此它在函数中检测到我想打印,但是,在“ -函数”部分中,我有一个名为o的变量,这是要打印的内容,我希望我解释得很清楚,希望您们理解,提前感谢。

点赞
用户5742381
用户5742381

我在发布后通过玩弄,自己修复了这个问题

所以我基本上创建了一个名为fCom(Function Command)的变量, 然后在“--Functions”部分中,将fCom设置为等于o,我创建了多个函数进行测试,它确实有效。

这是新的代码:

--如果语句
        elseif line:match("^if") then
            local v,e,c,v2 = line:match("^if (.+) = (.+) > (.+) > (.+)")
                if vars[v] == e then
                    if c == "print" then
                        print(v2)
                    elseif c == "run" then
                        if funcs[v2] then
                            if funcs[v2] == "print" then
                                --[[ EDITED --]] print(fCom)
                            end
                        end
                    end
                end

        --功能
        elseif line:match("^func") then
            local n,c,o = line:match("^func (.+) > (.+) > (.+)")
            funcs[n] = c
            --[[ EDITED --]]
            fCom = o
        end
2016-01-21 01:48:37