string to boolean

Tema05

Известный
Автор темы
1,443
403
Версия MoonLoader
.026-beta
Код выводит 1, 1 а должен 2, 1. Что нужно сделать чтобы if нормально определял?

Lua:
if "false"
 then
  print("1")
 else
  print("2")
end
if "true"
 then
  print("1")
 else
  print("2")
end
 

штейн

Известный
Проверенный
1,001
687

Double Tap Inside

Известный
Проверенный
1,900
1,255
почему не отдельная библиотека? зачем мне код забивать твоими функциями?
Lua:
decodeJson("true")
decodeJson("false")

--
Лично мне похуй сколько кода заниает скрипт. Скрипты более 10к строк у меня пока не получались. Обычно до 5к. Я не эконмлю место в блокнотике. Это машина - пусть она работает. Единственное где я могу сэкономить это оперативная память и нагрузка на процессор, и то в маленьких скриптах я даже не оптимизирую код, чтобы уменьшить нагрузку - впадло, лучше набыдлокодить.
 
Последнее редактирование:

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,731
4,717
Lua:
function strbool(str)
    if str == "true" then
        return true
  
    elseif str == "false" then
        return false
    end
end

if strbool("false") then
  print("0")

else
  print("1")
end

Но я все равно нихуя не понял куда ты хочешь это вставить. Конкретный пример бы.
Если ты Json используешь, то можно из json-строки декодировать в Lua-boolean
Lua:
bool_true = decodeJson("true")
bool_false = decodeJson("false")
return str == "true"
 

Double Tap Inside

Известный
Проверенный
1,900
1,255
Последнее редактирование:

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,731
4,717

Double Tap Inside

Известный
Проверенный
1,900
1,255
Если тебе сервер в строке ответа где тип bool отправляет цифру, то у сервера и его создателя шизофрения
Раунд!
Код выводит 1, 1 а должен 2, 1. Что нужно сделать чтобы if нормально определял?

Lua:
if "false"
then
  print("1")
else
  print("2")
end
if "true"
then
  print("1")
else
  print("2")
end

ах да, и if "false" всегда будет истиной, так как: строки, числа, таблици, userdata и true - считаются за истину. За ложь считаются только false и nil.

Тебе же надо
Lua:
str = "true" -- or "false"

if decodeJson(str) then
    print("Истина")
else
    print("Не истина")
end
 
Последнее редактирование:

Tema05

Известный
Автор темы
1,443
403
Не нужно спорить. Я уже получил ответ. Всем спасибо за участие.
Lua:
decodeJson("true")
decodeJson("false")

--
Лично мне похуй сколько кода заниает скрипт. Скрипты более 10к строк у меня пока не получались. Обычно до 5к. Я не эконмлю место в блокнотике. Это машина - пусть она работает. Единственное где я могу сэкономить это оперативная память и нагрузка на процессор, и то в маленьких скриптах я даже не оптимизирую код, чтобы уменьшить нагрузку - впадло, лучше набыдлокодить.
У меня скрипты от 6к строк, мой сейчас 11к строк. Мне жутко неудобно если я что то делаю и нужно каждый раз мотать по 3к строк до нужной функции. А мелкие скрипты, для меня это примерно 1к строк можно целиком держать в голове и очень приятно их оптимизировать максимально. Я для себя понял что если мне нравится собственный код это даёт огромное желание продолжать. Именно поэтому я переписал с 0 скрипт на 7к строк) вышло 5.5к строк
 
Последнее редактирование: