gpt4 book ai didi

string - Lua string.find 找不到一行中的最后一个单词

转载 作者:行者123 更新时间:2023-12-05 01:01:18 26 4
gpt4 key购买 nike

这是 Lua 编程书中的一个案例。代码如下,我的问题是为什么它不能得到该行的最后一个字?

function allwords()
local line=io.read()
local pos=1
return function ()
while line do
local s,e=string.find(line,"%w+ ",pos)
if s then
pos=e+1
return string.sub(line,s,e)
else
line=io.read()
pos=1
end
end
return nil
end
end

for word in allwords() do
print(word)
end

最佳答案

在这一行:

local s,e=string.find(line,"%w+ ",pos)
-- ^

模式中存在空格 "%w+ " ,所以它匹配一个单词后跟一个空格。当您输入时,例如 word1 word2 word3然后按 Enter, word3后面没有空格。

书中的例子中没有空格:
local s, e = string.find(line, "%w+", pos)

关于string - Lua string.find 找不到一行中的最后一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28446523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com