Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么lua string.find返回错误的数字_Lua - Fatal编程技术网

为什么lua string.find返回错误的数字

为什么lua string.find返回错误的数字,lua,Lua,这段代码应该返回21,但实际上返回1 我做错了什么?-是Lua模式中的一个特殊字符。若要进行文字匹配,则string.find的第二个参数必须是'%-%-' 或者,如果不想处理模式语义,可以传递第四个参数true,告诉string。find将第二个参数作为文本字符串而不是模式: local num = string.find("i want this to work --", "--") return num -是Lua模式中的特殊字符。若要进行文字匹配,则string.find的第二个参数必

这段代码应该返回21,但实际上返回1


我做错了什么?

-
是Lua模式中的一个特殊字符。若要进行文字匹配,则
string.find
的第二个参数必须是
'%-%-'

或者,如果不想处理模式语义,可以传递第四个参数
true
,告诉
string。find
将第二个参数作为文本字符串而不是模式:

local num = string.find("i want this to work --", "--")
return num

-
是Lua模式中的特殊字符。若要进行文字匹配,则
string.find
的第二个参数必须是
'%-%-'

或者,如果不想处理模式语义,可以传递第四个参数
true
,告诉
string。find
将第二个参数作为文本字符串而不是模式:

local num = string.find("i want this to work --", "--")
return num

或者您可以使用
string.find
的最后一个参数,该参数设置wither或not将模式作为纯文本:
string.find(“some--thing”,“--”,1,true)
@Nifim:我没有想到这一点。我正在把它添加到我的答案中。或者你可以使用
string.find
的最后一个参数,设置wither是否将模式作为纯文本:
string.find(“some--thing”,“--”,1,true)
@Nifim:我没有想到这一点。我在我的回答中加入了这一点。