Lua中相当于int(input())的是什么?

我正在使用以下代码向用户索取数字

var = io.read()

然后,当我执行

if var == 1 then
    print ("Thing One")
elseif var == 2 then
    print ("Thing Two")
else
    print ("Thing Three")

这总是返回“Thing Three”。我假设这意味着我需要将var转换为整数,就像Python使用int(input())一样。

点赞
用户1190388
用户1190388

Lua可以在调用io.read()函数时支持一个参数。你可以将*n*number作为一个字符串传递给它,这样你的输入就可以是一个数字或nil

print "enter a number:"
n = io.read("*number")
if not n then error("invalid input") end

你也应该轻松阅读一下PiL的这一页


因此,你的代码应该是:

var = io.read( "*n" ) -- 或 io.read( "*number" )

if var == 1 then
    print ("Thing One")
elseif var == 2 then
    print ("Thing Two")
else
    print ("Thing Three")
end
2014-02-15 12:15:53