2014-10-23 2 views
0

Когда эта функция выполняется, только второй io.read показывается, первый раз игнорируется:io.read в Lua не работает

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 правильно?

+0

Что вы подразумеваете под первым, игнорируется? Вы напечатали значение 'playername1'? –

+0

Невозможно ввести значение для playername1, оно просто пропустит его и позволит вам заполнить значение для playername2. –

+0

Невозможно воспроизвести. –

ответ

0

Не то, что я знаю, хоть немного о Lua, так что это дикое предположение, но не это должно быть:

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

Ну «ЦБС» собирается очистить экран, так что если вы хотите, и все еще на экране после ввода их необходимо удалить второй «CLS»:

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

playernames() 

Если вы просто хотите, чтобы показать им тогда:

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() 
    os.execute ("cls") 
    io.write ("Player 1: "..playername1.."\n") --or use print here 
    io.write ("Player 2: "..playername2.."\n") 
end 

playernames() 

Иначе, если это не тот ответ, который вы искали, вы должны указать «Как правильно показать первый io.read?».

Смежные вопросы