当前位置: 首页 > 知识库问答 >
问题:

错误:错误的参数#1到'strsearch'(字符串预期,得到零)在Lua

凌永逸
2023-03-14

以下是代码:

local function scanwhite (str, pos)
  while true do
    pos = strfind (str, "%S", pos)
    if not pos then return nil end
    local sub2 = strsub (str, pos, pos + 1)
    if sub2 == "\239\187" and strsub (str, pos + 2, pos + 2) == "\191" then
      -- UTF-8 Byte Order Mark
      pos = pos + 3
    elseif sub2 == "//" then
      pos = strfind (str, "[\n\r]", pos + 2)
      if not pos then return nil end
    elseif sub2 == "/*" then
      pos = strfind (str, "*/", pos + 2)
      if not pos then return nil end
      pos = pos + 2
    else
      return pos
    end
  end
end

我不是一个有经验的“编剧”,所以我真的不知道如何解决这个问题。

共有1个答案

上官兴昌
2023-03-14
  • 问题:scanWhite(str, pos)中的str为nil
  • 为什么?
    • 你可能写了scanWhite()而不是scanWhite("这里有东西")
    • 您可能传递了一个空变量,而不是包含字符串的变量

    从lua 2.4手册:

    strfind (str, substr, [init, [end]])
    
    • 方括号表示可选,方括号外的是强制性的

    解决方案:

    local myString = "This is a string"
    scanwhite(mystring)
    

 类似资料:
  • 第二个抛出了一个错误(),声称当我直接在函数中输入字符串时,它没有字符串,这让我非常恼火。然而,这种错误并非总是发生——其他时候,它工作得很完美,似乎没有任何原因。其次,当我在上面说的语句中输入时,它现在认为错误与语句有关,例如: 在我的程序中,我有多个重复的代码示例,这些代码具有不同的变量/值,我已经多次验证它们都是相同的。 这可能是什么错误,为什么?

  • 我正在使用这段代码生成objects,但有时我会遇到这个错误(错误参数#-1到'addBody'(需要代理,得到零))知道为什么吗?

  • 这是一个Lua脚本,用于Corona SDK中的一个游戏。一开始(旧代码)效率很低,我不得不手动创建每道数学题,在其他人的帮助下(新代码),所以我得到了答案。 在控制台中,我现在看到了这个错误:

  • 我不知道我做错了什么。。。我得到了球员的错误。draw()函数。它所说的不好的争论是在爱情中。图样矩形()方法。这意味着v.x是一个糟糕的论点。但它应该起作用。v.x和v.y都应该工作。因为它访问表或数组中元素的字段,对吗?有人能告诉我我做错了什么,以及如何解决这个问题吗?非常感谢!这是我的代码:

  • 问题内容: 我设置了以下for循环以接受5个测试分数。我希望循环提示用户输入5个不同的分数。现在,我可以通过输入“请输入您的下一个测试分数”来完成此操作,但是我希望每个输入的分数提示都提供其相关编号。 因此,对于第一个输入,我希望显示“请输入测试1的分数”,然后对于第二个分数,显示“请输入测试2的分数”。当我尝试运行此循环时,出现以下错误: 这是代码 问题答案: 一种简单(正确的方法)来编写所需内

  • 我有一个问题在这里我不知道如何解决这个问题,本尝试任何我知道解决这个仍然没有解决方案,请帮助 我有2个模块 主要的卢阿: 外部模块dog.lua: 堆栈回溯: 现在还在想在这里做什么。这是唯一阻碍我项目的事情。请帮忙,谢谢:)