Spec-Zone.ru › Octave 9

F.1 Ключевые слова

Идентификаторы ниже являются ключевыми словами и не могут использоваться в качестве имен переменных или функций:

Категории:

Вспомогательные функции | Объявление переменных | Определение функций | Управляющие конструкции | Циклические конструкции | Конструкции classdef | Среда выполнения

Список ключевых слов в алфавитном порядке:

__FILE__ | __LINE__ | break | case | catch | classdef | continue | do | else | elseif | end | end_try_catch | end_unwind_protect | endclassdef | endenumeration | endevents | endfor | endfunction | endif | endmethods | endparfor | endproperties | endswitch | endwhile | endenumeration | events | for | function | global | if | methods | otherwise | parfor | persistent | properties | return | switch | try | until | unwind_protect | unwind_protect_cleanup | while

Вспомогательные функции:

Функцию iskeyword можно использовать для быстрой проверки того, зарезервирован ли идентификатор в Octave.

: iskeyword ()
: iskeyword (name)

Возвращает true, если name является ключевым словом Octave.

Если name не указан, возвращает список ключевых слов.

См. также: isvarname, exist.

Объявление переменных:

: global var

Объявляет переменные с глобальной областью видимости.

global x;
if (isempty (x))
  x = 1;
endif

См. также: persistent.

: persistent var

Объявляет переменные как постоянные.

Переменная, объявленная как постоянная внутри функции, сохраняет свое содержимое в памяти между последующими вызовами этой функции. Постоянные переменные отличаются от глобальных тем, что область видимости постоянных переменных ограничена конкретной функцией и они не видны в других местах.

См. также: global.

Определение функций:

: function outputs = function_name (input, …)
: function function_name (input, …)
: function outputs = function_name

Начинает тело функции с именем function_name, результатами которой являются outputs, а параметрами — inputs.

Позднее функцию можно вызвать в Octave с помощью синтаксиса

[output1, output2, ...] = function_name (input1, input2, ...)

См. также: return.

: endfunction

Обозначает конец функции.

См. также: function.

: end

Последний элемент массива или конец любого блока for, parfor, if, do, while, function, switch, try или unwind_protect.

В качестве индекса массива магический индекс "end" обозначает последний допустимый элемент при индексировании.

Пример:

x = [ 1 2 3; 4 5 6 ];
x(1,end)
 ⇒ 3
x(end,1)
 ⇒ 4
x(end,end)
 ⇒ 6

Примечания по программированию:

  1. Ключевое слово end нельзя использовать внутри subsref, subsasgn или substruct для операций индексирования вручную.
  2. Для пользовательских классов, чтобы разрешить использование end в выражениях индексирования, его необходимо переопределить с помощью определения функции, например:
    function last_index = end (obj, end_dim, ndim_obj)
      if (end_dim == ndim_obj)
        last_index = prod (size (obj)(end_dim:ndim_obj));
      else
        last_index = size (obj, end_dim);
      endif
    endfunction

    Дополнительные сведения см. в разделе Объектно-ориентированное программирование.

См. также: for, parfor, if, do, while, function, switch, try, unwind_protect.

: return

Немедленно возвращает управление из функции или скрипта вызывающему коду.

return используется для остановки выполнения кода и немедленного выхода из m-файла, а не для продолжения выполнения до конца функции или скрипта.

Если функция или скрипт были вызваны непосредственно, а не вызывающим кодом из m-файла, Octave возвращается в командную строку.

См. также: function.

Управляющие конструкции:

: if (cond) … endif
: if (cond) … else … endif
: if (cond) … elseif (cond) … endif
: if (cond) … elseif (cond) … else … endif

Начинает блок if.

Условие cond истинно, если оно не пусто и все значения ненулевые.

x = 1;
if (x == 1)
  disp ("one");
elseif (x == 2)
  disp ("two");
else
  disp ("not one or two");
endif

См. также: switch.

: else

Альтернативное действие для блока if.

Пример см. в if.

См. также: if.

: elseif (cond)

Альтернативная проверка условия для блока if.

Условие cond истинно, если оно не пусто и все значения ненулевые.

Пример см. в if.

См. также: if.

: endif

Обозначает конец блока if.

Пример см. в if.

См. также: if.

: switch statement

Начинает блок switch.

yesno = "yes";

switch (yesno)
  case {"Yes" "yes" "YES" "y" "Y"}
    value = 1;
  case {"No" "no" "NO" "n" "N"}
    value = 0;
  otherwise
    error ("invalid value");
endswitch

См. также: if, case, otherwise.

: case value
: case {value, …}

Оператор case в блоке switch.

В Octave варианты case взаимоисключающие и не выполняются сквозным образом, как варианты case в языке C. Оператор switch должен содержать как минимум один вариант case. Пример см. в switch.

См. также: switch.

: otherwise

Оператор по умолчанию в блоке switch, выполняемый, если ни один другой вариант case не соответствует входным данным.

См. также: switch, case.

: endswitch

Обозначает конец блока switch.

Пример см. в switch.

См. также: switch.

: try

Начинает блок try-catch.

Если в блоке try возникает ошибка, выполняется код catch, после чего выполнение продолжается за блоком catch (хотя часто рекомендуется использовать функцию lasterr, чтобы повторно вызвать ошибку после завершения очистки).

См. также: catch, unwind_protect.

: catch
: catch value

Начинает часть очистки блока try-catch.

См. также: try.

: end_try_catch

Обозначает конец блока try-catch.

См. также: try, catch.

: unwind_protect

Начинает блок unwind_protect.

Если в первой части блока unwind_protect возникает ошибка, команды в блоке unwind_protect_cleanup выполняются до вызова ошибки. Если ошибка не возникает, блок unwind_protect_cleanup все равно выполняется. Иными словами, код unwind_protect_cleanup гарантированно выполняется независимо от успеха или неудачи блока unwind_protect.

См. также: unwind_protect_cleanup, try.

: unwind_protect_cleanup

Начинает раздел очистки блока unwind_protect.

См. также: unwind_protect.

: end_unwind_protect

Обозначает конец блока unwind_protect.

См. также: unwind_protect.

Циклические конструкции:

: for i = range

Начинает цикл for.

for i = 1:10
  i
endfor

См. также: parfor, do, while.

: endfor

Обозначает конец цикла for.

Пример см. в for.

См. также: for.

: while (cond)

Начинает цикл while.

Условие cond истинно, если оно не пусто и все значения ненулевые.

i = 0;
while (i < 10)
  i++
endwhile

См. также: do, endwhile, for, until.

: endwhile

Обозначает конец цикла while.

Пример см. в while.

См. также: do, while.

: do

Начинает цикл do-until.

Он отличается от цикла while тем, что тело цикла выполняется как минимум один раз.

i = 0;
do
  i++
until (i == 10)

См. также: for, until, while.

: until (cond)

Завершает цикл do-until.

Условие cond истинно, если оно не пусто и все значения ненулевые.

Пример см. в do.

См. также: do.

: parfor i = range
: parfor (i = range, maxproc)

Начинает цикл for, который может выполняться параллельно.

Цикл parfor имеет тот же синтаксис, что и цикл for. Если в сеансе Octave включен пул параллельных вычислений, итерации цикла parfor будут выполняться параллельно на рабочих процессах пула. В противном случае parfor работает точно так же, как for.

В режиме параллельного выполнения итерации цикла parfor не гарантированно выполняются последовательно, а операции доступа к данным, которые можно выполнять в теле цикла, имеют дополнительные ограничения.

Предупреждение: пулы параллельных вычислений в настоящее время не реализованы в Octave; parfor сейчас работает точно так же, как обычный цикл for.

parfor i = 1:10
  i
endparfor

См. также: for, do, while.

: endparfor

Обозначает конец цикла parfor.

Пример см. в parfor.

См. также: parfor.

: break

Выходит из самого внутреннего охватывающего цикла do, while или for.

См. также: do, while, for, parfor, continue.

: continue

Переходит к концу самого внутреннего охватывающего цикла do, while или for.

См. также: break, do, while, for, parfor.

Конструкции classdef:

: classdef

Начинает блок classdef.

См. также: properties, methods, events, enumeration.

: endclassdef

Обозначает конец определения classdef.

См. также: classdef.

: properties

Обозначает начало блока свойств в определении classdef. Обратите внимание, что функция "properties" выводит список свойств класса или объекта classdef.

См. также: endproperties.

: endproperties

Обозначает конец блока свойств в определении classdef.

См. также: properties.

: methods

Обозначает начало блока методов в определении classdef. Обратите внимание, что функция "methods" выводит список методов класса или объекта.

См. также: endmethods.

: endmethods

Обозначает конец блока методов в определении classdef.

См. также: methods.

: events

Начинает блок событий в определении classdef.

: endevents

Обозначает конец блока событий в определении classdef.

См. также: events.

: enumeration

Начинает блок перечисления в определении classdef.

: endenumeration

Обозначает конец блока перечисления в определении classdef.

См. также: enumeration.

Среда выполнения:

: __FILE__

Когда лексический анализатор распознает ключевое слово "__FILE__", он возвращает символьный массив, содержащий полное имя и путь выполняемого файла. "__FILE__" вернет stdin при вызове из командной строки.

См. также: __LINE__.

: __LINE__

Когда лексический анализатор распознает ключевое слово "__LINE__", он возвращает числовое значение с номером текущей строки ввода выполняемой функции или файла. "__LINE__" вернет 1 при вызове из командной строки.

См. также: __FILE__.

© 1996–2026 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.4.0/Keywords.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API