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 не указан, возвращает список ключевых слов.
Объявление переменных:
-
: 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
Примечания по программированию:
- Ключевое слово
endнельзя использовать внутриsubsref,subsasgnилиsubstructдля операций индексирования вручную. - Для пользовательских классов, чтобы разрешить использование
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
-
: case
value -
: case
{value, …} -
Оператор case в блоке switch.
В Octave варианты case взаимоисключающие и не выполняются сквозным образом, как варианты case в языке C. Оператор switch должен содержать как минимум один вариант case. Пример см. в
switch.См. также: switch.
- : otherwise
-
Оператор по умолчанию в блоке switch, выполняемый, если ни один другой вариант case не соответствует входным данным.
- : endswitch
-
Обозначает конец блока switch.
Пример см. в
switch.См. также: switch.
- : try
-
Начинает блок try-catch.
Если в блоке try возникает ошибка, выполняется код catch, после чего выполнение продолжается за блоком catch (хотя часто рекомендуется использовать функцию
lasterr, чтобы повторно вызвать ошибку после завершения очистки).См. также: catch, unwind_protect.
- : catch
-
: catch
value -
Начинает часть очистки блока try-catch.
См. также: try.
- : 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.
Циклические конструкции:
- : endfor
-
Обозначает конец цикла for.
Пример см. в
for.См. также: for.
-
: while
(cond) -
Начинает цикл while.
Условие cond истинно, если оно не пусто и все значения ненулевые.
i = 0; while (i < 10) i++ endwhile
- : do
-
Начинает цикл do-until.
Он отличается от цикла while тем, что тело цикла выполняется как минимум один раз.
i = 0; do i++ until (i == 10)
-
: 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
- : endparfor
-
Обозначает конец цикла parfor.
Пример см. в
parfor.См. также: parfor.
- : break
-
Выходит из самого внутреннего охватывающего цикла do, while или for.
- : continue
-
Переходит к концу самого внутреннего охватывающего цикла do, while или for.
Конструкции 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