Онлайн-справочник по самым часто задаваемым вопросам из темы "Как сделать?" на форуме QSP.su
13.3. Не работает `IIF`!
В: Не работает `IIF`!
Пишу такой код:
Но плеер не выполняет команду GOSUB.
О:
`IIF` — это не оператор, это функция. Её преднаначение: ВОЗВРАЩАТЬ то или иное ЗНАЧЕНИЕ в зависимости от результата проверки условия.
Внимательно читайте справку, прежде чем использовать какую-либо функцию или оператор:
IIF([#выражение],[выражение_да],[выражение_нет]) - ВОЗВРАЩАЕТ ЗНАЧЕНИЕ выражения [выражение_да], если [#выражение] верно, иначе значение выражения [выражение_нет].
Функция позволяет существенно сократить запись некоторых условий.
Например, у нас есть число `number` и нам нужно получить модуль этого числа `abs_number`. Если бы мы делали это с помощью оператора условий, то запись выглядела бы так:
При использовании функции IIF, запись сокращается:
Вообще, функция удобна там, где нам нужно получить один из двух вариантов значения.
Например, мы делаем в игре отображение времени, и нам нужно, чтобы на экран выводилось время в формате 00:00. Т.е. например, четверть третьего ночи должны выглядеть так:
А пять минут двенадцатого днём так:
При этом число минут мы считаем в переменной `minutes`, а число часов — в переменной `hours`:
Попробуйте записать это с помощью операторов условий.