2016-01-21 69 views
-2
--If STATEMENT 
     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 
           print("hi") 
          end 
         end 
        end 
       end 

     --Functions 
     elseif line:match("^func") then 
      local n, c, o = line:match("^func (.+) > (.+) > (.+)") 
      funcs[n] = c 
     end 

此代码是用于编程语言的IM发展,在遇到问题时与运行职能卢阿 - 如何访问一个变量在ELSEIF声明

虽然这些代码在那里工作的IM,有一个问题... 我想打印在“ - 功能”下的elseif语句中设置的var“o”,它检测到我想打印某些功能,但我不知道如何访问变量o一个不同的elseif语句,因为在“--If语句”区域中,它正在查看文件中的代码是否与此if var = 1 > run > functionname类似,并且函数的文件中的代码如下所示func functionname > print > Hello h工作,并为开发的目的,我打印出“嗨”,所以它是检测功能,我想打印,但在(“ - 功能”)部分我有一个变量称为o,这是什么要打印的时候,我希望我explaned很好,我希望你们理解,并在此先感谢

回答

-1

好吧,我修好了我自己,我张贴这种后瞎搞

所以我基本上创建一个名为变量FCOM (功能命令) 那么“--Functions”节中,我设定FCOM平等?在和我进行了多种功能来测试它和它的工作

这是新代码:

--If STATEMENT 
     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 

     --Functions 
     elseif line:match("^func") then 
      local n, c, o = line:match("^func (.+) > (.+) > (.+)") 
      funcs[n] = c 
      --[[ EDITED --]] 
      fCom = o 
     end