Lua 中的 io.read 不起作用。

当执行此函数时,只有第二个io.read会显示,第一个会被忽略:

function playernames ()
    os.execute ("cls")
    io.write ("\n Player 1, choose a name: ")
    playername1 = io.read ()
    os.execute ("cls")
    io.write ("\n Player 2, choose a name: ")
    playername2 = io.read ()
end

如何正确地显示第一个io.read

点赞
用户613288
用户613288

不是很了解 Lua,所以这只是一个猜测,但应该是这样做:

function playernames ()
    os.execute ("cls")
    io.write ("玩家1,请选择名称:")
    playername1 = io.read ()
    io.write ("\n")
    os.execute ("cls")
    io.write ("玩家2,请选择名称:")
    playername2 = io.read ()
    io.write ("\n")
end
2014-10-23 13:19:27
用户4173441
用户4173441

好的,“cls”指令用于清屏,如果你希望在输入这两个名称后仍然保留在屏幕上,则需要移除第二个“cls”:

function playernames ()
    os.execute ("cls")
    io.write ("\n 玩家1,请输入您的名称: ")
    playername1 = io.read ()
    io.write ("\n 玩家2,请输入您的名称: ")
    playername2 = io.read ()
end

playernames ()

如果你仅仅是想展示这些名称,则:

function playernames ()
    os.execute ("cls")
    io.write ("\n 玩家1,请输入您的名称: ")
    playername1 = io.read ()
    os.execute ("cls")
    io.write ("\n 玩家2,请输入您的名称: ")
    playername2 = io.read ()
    os.execute ("cls")
    io.write ("玩家1:" .. playername1 .. "\n") -- 或者在这里使用print
    io.write ("玩家2:" .. playername2 .. "\n")
end

playernames ()

否则,如果这不是你需要的答案,你需要明确以下问题:“如何正确显示第一个io.read?”。

2014-10-23 13:54:28