Lua - get command line input from user?

2020-02-09 08:15发布

In my lua program, i want to stop and ask user for confirmation before proceeding with an operation. I'm not sure how to stop and wait for user input, how can it be done?

6条回答
啃猪蹄的小仙女
2楼-- · 2020-02-09 08:53

I've worked with code like this. I will type this in a way it will work:

io.write("continue with this operation (y/n)?")
answer=io.read()
if answer=="y" then
   --(put what you want it to do if you say y here)
elseif answer=="n" then
   --(put what you want to happen if you say n)
end
查看更多
爷、活的狠高调
3楼-- · 2020-02-09 08:53
print("Continue (y/n)?")
re = io.read()
if re == "y" or "Y" then
    (Insert stuff here)
elseif re == "n" or "N" then
    print("Ok...")
end

From the bit of lua that I've done (not a lot), I'm going to say that using both uppercase and lowercase letters is redundant if you use string.sub.

print("Continue? (y/n)")
local re = io.read()

--[[Can you get string.sub from a local var? 
If so, this works. I'm unfamiliar with io(game 
lua uses GUI elements and keypresses in place of the CLI.]]

if re.sub == "y" then
    --do stuff
if re.sub == "n" then
    --do other stuff
end

That should work.

查看更多
萌系小妹纸
4楼-- · 2020-02-09 08:54

Take a look at the io library, which by default has standard-input as the default input file:

http://www.lua.org/pil/21.1.html

查看更多
对你真心纯属浪费
5楼-- · 2020-02-09 08:54
local answer
repeat
   io.write("continue with this operation (y/n)? ")
   io.flush()
   answer=io.read()
until answer=="y" or answer=="n"
查看更多
我只想做你的唯一
6楼-- · 2020-02-09 08:54

I use:

     print("Continue (y/n)?")
re = io.read()
if re == "y" or "Y" then
    (Insert stuff here)
elseif re == "n" or "N" then
    print("Ok...")
end
查看更多
▲ chillily
7楼-- · 2020-02-09 08:56

try to use folowing code

m=io.read() if m=="yes" then (insert functions here) end

查看更多
登录 后发表回答