如果你每个人都扮演刽子手,你会很容易理解我想要完成的事情。我想要的是用某些索引替换其他字符的字符。这就是我目前正在做的事情:
word = getwordoflength(10)
found = string.rep("_", 10)
while found ~= word do
char = getcharfromuser()
temp = ""
for i = 1, 10 do
if word:sub(i, i) == char then
temp = temp..char
else
temp = temp..found:sub(i, i)
end
end
found = temp
end
现在,对我而言,这似乎是非常愚蠢和低效的,但也许没有更好的方法。最重要的是,'权利'这样做的方法?
答案 0 :(得分:2)
while found ~= word do
local char = getcharfromuser()
for i in word:gmatch('()'..char) do
found = found:sub(1,i-1)..char..found:sub(i+1)
end
end
还有一种方法:
while found ~= word do
local char = getcharfromuser()
for i in word:gmatch('()'..char) do
found = found:gsub('().', {[i]=char})
end
end