我有一个关于 lua eclipse ide 的问题,有人可以帮助我吗?

i have a problem with lua eclipse ide some one can help me?

你可以在这里看到问题

我在lua开始编程,我想做一个简单的程序。我遇到的问题是,如果我在代码中输入 if 函数,程序将不会启动并在启动时自动结束

正如您从图像中看到的那样,编译器说“已终止”

更新:现在代码如下所示

local function main()
print("insert four binary number for color encryption")
a,b,c,d = io.read("*n","*n","*n","*n")
a=n
b=n
c=n
d=n
end
main()
if(a == 1){
print(white)        
} 
then
print(black)
end

我把 if 移到了最后的 main() 下

现在控制台显示 nil 后跟

Exception in thread "main" com.naef.jnlua.LuaRuntimeException: ...t-win32.win32.x86_64\workspace\luabello\src\main.lua:10: attempt to call a boolean value
    at com.naef.jnlua.LuaState.lua_pcall(Native Method)
    at com.naef.jnlua.LuaState.call(LuaState.java:555)
    at org.eclipse.ldt.support.lua51.internal.interpreter.JNLua51Launcher.run(JNLua51Launcher.java:128)
    at org.eclipse.ldt.support.lua51.internal.interpreter.JNLua51Launcher.main(JNLua51Launcher.java:143)

更新 2:现在代码如下所示

local function main()
print("insert four binary number for color encryption")
a,b,c,d = io.read("*n","*n","*n","*n")

end
main()
a=n
b=n
c=n
d=n
if(a <= 1){
print(white)        
} 
then
else
print(black)
end

它给了我另一个错误

Exception in thread "main" com.naef.jnlua.LuaRuntimeException: ...t-win32.win32.x86_64\workspace\luabello\src\main.lua:11: attempt to compare nil with number
    at com.naef.jnlua.LuaState.lua_pcall(Native Method)
    at com.naef.jnlua.LuaState.call(LuaState.java:555)
    at org.eclipse.ldt.support.lua51.internal.interpreter.JNLua51Launcher.run(JNLua51Launcher.java:128)
    at org.eclipse.ldt.support.lua51.internal.interpreter.JNLua51Launcher.main(JNLua51Launcher.java:143)

您的 if 条件可能不是您期望的那样,

if(a == 1){
print(white)        
} 

这将尝试调用 a == 1 的结果并传递第一个参数 {print(white)} 然后评估是否为真,但是您将收到错误,因为您无法调用的结果a == 1 因为它是一个布尔值。

我相信你的意思是:

if(a == 1) then
    print(white)        
else
    print(black)
end

你还设置了两次a,b,c,d

  1. io.read("*n","*n","*n","*n")
  2. 的结果
  3. n 未定义,因此值设置为 nil