在Lua中按索引替换字符串字符

如果你玩过猜词游戏,你就能很容易地理解我想要做的事情。我想要的只是用其他字符替换特定索引处的字符。这是我目前在做的:

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

现在,对我来说,这看起来非常愚蠢和低效,但也许没有更好的办法。总的来说,有没有“正确”的方法来做这件事?

点赞
用户1847592
用户1847592
当找到的单词不等于目标单词时:
   获取用户输入的字符
   遍历目标单词中所有匹配`(char)`的字符位置 `i`
       将找到的单词中第`i`个位置替换为字符`char`
end

另一种实现方法:

当找到的单词不等于目标单词时:
   获取用户输入的字符
   遍历目标单词中所有匹配字符的位置 `i`
       将找到的单词中第`i`个位置替换为字符`char`
end

以上都使用了 Lua 代码格式的语法突出 markdown 格式。
2014-07-24 23:25:42