Lua 文件:write()错误:";错误参数#1到';写';(应为字符串,但为零)"; locallog=io.open(“log.txt”、“a”) 本地日志文本 对于i=1,8do——如果你认为这是毫无意义的,那么它就在这里,因为它可能会影响结果,并且它在我的程序的其他地方也有用处 如果a==1,则本例中的--throwaway变量 按=4;logText=“A=1。” 其他的 按=8;logText=“不适用其他规则。” 结束 如果i==8,那么 日志:写入(日志文本) 日志:写入(“\n正确的组合:“…按..”\n”)--此处出现声明错误 日志:关闭() 结束 结束
第二个Lua 文件:write()错误:";错误参数#1到';写';(应为字符串,但为零)"; locallog=io.open(“log.txt”、“a”) 本地日志文本 对于i=1,8do——如果你认为这是毫无意义的,那么它就在这里,因为它可能会影响结果,并且它在我的程序的其他地方也有用处 如果a==1,则本例中的--throwaway变量 按=4;logText=“A=1。” 其他的 按=8;logText=“不适用其他规则。” 结束 如果i==8,那么 日志:写入(日志文本) 日志:写入(“\n正确的组合:“…按..”\n”)--此处出现声明错误 日志:关闭() 结束 结束,lua,Lua,第二个log:write()抛出一个错误(bad argument#1 to'write'(string expected,get nil)),当我在函数中直接输入字符串时,它没有字符串,这让我非常恼火。然而,错误并非总是发生——其他时候,它工作得很完美,似乎没有任何原因。其次,当我在上面提到的log:write()语句中输入if时,它现在认为错误与if语句有关,例如: 如果按~=0,则--claims错误在这里 日志:写入(“\n正确的组合:“…按..”\n”) 结束 我的程序中有多个重复的
log:write()
抛出一个错误(bad argument#1 to'write'(string expected,get nil)
),当我在函数中直接输入字符串时,它没有字符串,这让我非常恼火。然而,错误并非总是发生——其他时候,它工作得很完美,似乎没有任何原因。其次,当我在上面提到的log:write()
语句中输入if
时,它现在认为错误与if
语句有关,例如:
如果按~=0,则--claims错误在这里
日志:写入(“\n正确的组合:“…按..”\n”)
结束
我的程序中有多个重复的代码示例,这些代码具有不同的变量/值,我多次验证了它们都是相同的
这可能会抛出什么错误?为什么?尽管在问题示例中不可再现,但在以类似方式编写的脚本中,
按
和日志文本
保持为零
。这是因为它们的值只在程序的选定分支中给出
尝试预先为它们指定“空”值,以避免串联或io出现nil
问题。写入:
locallog=io.open(“log.txt”、“a”)
本地日志文本=“”
本地新闻=0
--其余的逻辑。
您的示例是否再现了错误?似乎没有。最好的猜测是,这是因为在某些情况下,press
和logText
可能是nil
(同样,在您的示例中是不可复制的)。尝试locallogtext=“”;文件开头的local press=0
。遗憾的是,仍然会出现相同的错误。如果需要,我可以将整个文件发送给您。具体取决于文件的大小。我更希望有一个重现这个问题的例子。如果你不能做到这一点,我们可以尝试解决整个文件。问题是,我不确定是什么导致了这个问题。我不知道问题是IDE(它最近抛出了一个关于旧代码的错误,请参阅:)还是代码本身。