Перейти к содержимому
  • 0
Wanderer13

Пара простых вопросов

Вопрос

Подскажите, пожалуйста:

         1) Что прописать в if чтобы он просто пропустил ход? Пример: if x==1 then "сделай то-то" elseif x==2 then "ничего не делай" / "закончи работу оператора"

         2) Что прописать чтобы (например при выполнении какого-либо условия) программа преждевременно заканчивала работу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

То есть хочешь сделать так:

if not condition then
  <уйти к чёрту отсюда>
else
  <что-то сделать>
end
 
<код>

Верно?

 


 

  • Во-первых, никто не мешает сделать блок условия пустым.

 

if not condition then
else
  -- код --
end
-- код --
  • Во-вторых, можно просто поставить not в условие.

 

if condition then
  -- код --
end
-- код --
Изменено пользователем Fingercomp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Подскажите, пожалуйста:
         1) Что прописать в if чтобы он просто пропустил ход? Пример: if x==1 then "сделай то-то" elseif x==2 then "ничего не делай" / "закончи работу оператора"
         2) Что прописать чтобы (например при выполнении какого-либо условия) программа преждевременно заканчивала работу?


https://goo.gl/TGZSfl
2 os.exit() Изменено пользователем NEO

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я так понял нужен пример условия? вот

local i = io.read();
if     i == "a" then print("вы ввели А");
elseif i == "b" then print("вы ввели B");
else print("хз что вы ввели"); end;
Изменено пользователем ALeXeR

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1)https://www.lua.org/pil/4.4.html,

x = 2

while true do

if x == 1 then print(1)

elseif x == 2 then break

end

end

 

 

2)os.exit()

Изменено пользователем LuaGamer

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Собственно, если в ветке else не надо ничего делать - используй if без ветки else;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1)https://www.lua.org/pil/4.4.html,

x = 2

while true do

if x == 1 then print(1)

elseif x == 2 then break

end

end

 

 

вот, мне нужно это, но можно ли обойтись без цикла?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

я так понял нужен пример условия? вот

local i = io.read();
if     i == "a" then print("вы ввели А");
elseif i == "b" then print("вы ввели B");
else print("хз что вы ввели"); end;

нет, это не то.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Собственно, если в ветке else не надо ничего делать - используй if без ветки else;)

мне нужно чтобы он переходил дальше по программе именно при определённом условии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Условие в Lua работает так же как и в других языках.

 

working-if-else-programming.jpg

 

Это С++, но смысл один и тот же. Вместо фигурных скобок в Lua then end.

Изменено пользователем NEO

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

То есть хочешь сделать так:

if not condition then
  <уйти к чёрту отсюда>
else
  <что-то сделать>
end
 
<код>

Верно?

Типа того

 

  • Во-первых, никто не мешает сделать блок условия пустым.
if not condition then
else
  -- код --
end
-- код --

Это как раз то что мне нужно, я думал будет выдавать ошибку. Спасибо.

Только, не знаю имел ли ты именно это ввиду, я сделал пустым сам код при выполнении Elseif условия.

Изменено пользователем Wanderer13

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 os.exit()

os.exit() почему-то не выходит, выдаёт ошибку "attempt to call nill" на строчке с os.exit()

вот код:

    while true do

    a=read()

    a=tonumber(a)

        if a==1 then

            os.exit()

        elseif a==2 then print("no")

        end

    end

 

и ещё в списке os программ нет пункта os.exit()

Изменено пользователем Wanderer13

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...