Инструменты пользователя

Инструменты сайта


Боковая панель

help:conditional

Это старая версия документа.


Назад: Регулярные выражения

Условия

  • IIF([#выр],[выр_да],[выр_нет]) - возвращает значение выражения [выр_да], если [#выр] верно, иначе значение выражения [выр_нет]. При работе функции вычисляются все три выражения.
    • Примеры:
      !Модуль числа
      abs_x = IIF(x > 0, x, -x)
      
      !А следующая конструкция вызовет ошибку деления на ноль:
      x = 0
      y = IIF(x = 0, 0, 1/x)
      
  • IF [#условие]: [операторы] ELSE [операторы] - если [#условие] верно (не равно 0), то выполнятся операторы до ключевого слова "ELSE", иначе выполнятся операторы после "ELSE".
    • Ключевое слово "ELSE" можно опустить, если не требуется выполнение операторов при ложном условии.
    • Однострочная форма записи:
      if ((a+b)/c)=45+54 or (b<5 or c>45) and no obj 'лопата' and $f=$vvv+'RRRRR': p 'OK' & goto 'Next'
      if был_здесь[$curloc]: exit
      if a<3: jump 'sss'
      if $имя = '': msg 'Введите имя!' & jump 'ввод'
      if a+b=2:c=30 & gt 'next' else c=10
      
    • Многострочная форма записи:
      • После символа ":" ставится перенос строки
      • ELSE пишется с новой строки
      • Заканчивается IF строкой "END" (можно "END IF").
      • Допускается вложенность неограниченной глубины. Каждый уровень вложения должен заканчиваться своей строкой "END".
      • Примеры:
        if a+b<3 or y=8:
          p 'A+B<3 или Y=8'
          nl  
          if j=88: nl & p 'NEXT'  
          if $h='ooo':
            p 'loo' & jump 'lll'
          end
        end
        
        if a=0:
          'abc1234'
          if b=0: '0' else '1'
          if j=88:nl & p 'NEXT'
          if $h='ooo':
            p 'loo' & jump 'lll'
          else
            p 'sample text'
            v=8
          end
          1234
        else
          '01234'
          g=78
        end
        
  • ELSEIF - позволяет создавать вложенные IF на одном уровне вложенности и используется вместо ELSE.
    • Пример:
      IF a=1:
        !операторы
      ELSEIF a=2:
        !операторы
      ELSEIF a=3:
        !операторы
      END
      
    • Правильно работает только в многострочной записи. Для однострочной записи используйте сочетание ELSE IF (через пробел)Пример:<sxh qsp>

IF a=1: $t='Единица' ELSE IF a=2: $t='Двойка' ELSE $t='Неизвестно' <sxh>


Вперёд: Пользовательские функции и процедуры

help/conditional.1659260623.txt.gz · Последние изменения: 2022/07/31 09:43 — aleks_versus