无法正确执行if语句。

这个问题困扰了我很久了,我正在制作一个程序,如果你输入特定的密码,它就会执行一个动作。我一直收到一个错误,说“:4:期望''或“if语句期望”。请帮忙!

 textutils.SlowPrint("type the password")
--这是一个正在进展中的项目,它处于基本阶段!
pass = ImCool
setCursorPos.(4,5)
input.read(*)
--问题在这里
if input = pass then
print("You did it"!)
点赞
用户682404
用户682404

当你尝试检查相等性时,使用==运算符,像这样:

if input == pass then
    print("You did it")
end

你现在正在使用=

你的代码也有其他拼写错误-setCursorPos后面有一个在双引号外面。ImCool-这是一个符号还是一个字符串?如果是字符串,它应该在双引号中。

我不确定input.read(*)这一行是否正确,但我已经有一段时间没有使用Lua了。我记得在Lua中使用io.read()获取命令行输入。

2013-09-18 21:52:49
用户1955825
用户1955825

我不是 lua 的专家,但看起来当你将 ImCool 赋值给 pass 变量时应该加引号:

pass = "ImCool"

我知道你的问题发生在代码的后面,但像这样的错误可能会影响解析器。

查看 http://lua-users.org/wiki/LuaTypesTutorial 中的字符串部分,了解初始化字符串变量的方法。

此外,我不知道你复制代码时是否被截断,但你的 if 语句后面可能需要 end。你也可能希望在 if 语句中使用 == 运算符而不是 =。详见 http://www.lua.org/pil/4.3.1.html

2013-09-18 21:59:55