• Как вводить только числовые значения в lua?

    dollar
    @dollar Куратор тега Lua
    Делай добро и бросай его в воду.
    Вот эта функция переводит строку в число, а при невозможности возвращает nil:
    tonumber(str)

    Поэтому ваш код можно изменить примерно так:
    a = io.read(); --строка
    local num = tonumber(a) -- число или nil
    if num ~= nil and num > 0 then
      print(num);
    end

    Ещё вариант:
    a = io.read(); --строка
    local num = tonumber(a) -- число или nil
    if num == nil then --строку невозможно перевести в число
      print("error") --выводим текст ошибки
    elseif num > 0 then --строка перевелась в число, и оно больше нуля
      print(num); --выводим это число
    end
    Ответ написан
    Комментировать