我一直在用Lua编程一个AI,并使用我自己的逻辑语言与它交流。我遇到了一个问题,实在是想不通。
我试图加入是/否的问题。我大致是这样说的:mi=David la;(设置变量为David,la;是标点符号)la mi=David dor la;(’mi’是否等于’David’?)
当我输入这些时,’ROBO-DUDE’没有任何回应。
if v == "lol" then local yes = true for _,v in pairs(mode[2]) do if v == false then print(v) yes = false end print(yes) end print(yes) if yes == true then things = things .. "jar; " else things = things .. "awa; " endend
这段代码是在’la’语句的循环中。’dor’意味着是/否回应,词法分析器将其改为’lol’。
当我测试时,代码似乎跳过了循环中的dor/lol部分。我去检查了词法分析器。
if v == "dor" then sentence[#sentence+1] = "lol"end
我完全不知道这里出了什么问题。我希望有人能帮我解决这个问题。
回答:
没关系。我找到了问题所在。当我使用for循环时,我在主解析循环和另一个表/数组的循环中都使用了变量’v’。我认为更改任何一个变量都能解决我的问题。