Lua设置了一个elseif语句,用于识别来自字母表的字母。

在 lua 中,我如何设置一个 elseif 语句来识别用户输入的字母表中的字母?

例如:elseif age = (字母表) then print("无效的年龄")

点赞
用户3586583
用户3586583

你可以尝试使用 tonumber 方法来判断输入是否为数字,并使用取模 % 运算符来测试该数字是否为整数。

例如,如果仅限于编辑 elseif 语句:

elseif not tonumber(age) or tonumber(age)%1 ~= 0 then print("Invalid age")

如果你能够制作一个函数或编辑代码以类似的方式完成它,那么这将是更有效的方法,因为它调用 tonumber 更少:

local function IsInteger(number)
    number = tonumber(number)
    return number and number%1 == 0
end

-- later in code
elseif not IsInteger(age) then print("Invalid age")
2015-12-23 22:07:55
用户3979429
用户3979429

虽然我喜欢Roch的方法,但是我提供了一个我认为更简单的方法。

local n = tonumber(age)

if n and n%1==0 then
    --代码
else
      print("无效年龄!")
end

首先将年龄转换为数字类型,并确定它对应的数字。

然后检查n是否为真(既不为nil也不为false),因为如果不是数字,tonumber会返回nil,因此它将评估是否是数字。

n%1 == 0部分仅确保它是整数。

我认为这种方法更有效率。

2015-12-23 22:26:24