Spec-Zone.ru › Octave 9

7 Переменные

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

x
x15
__foo_bar_baz__
fucnrdthsucngtagdjb

Однако имена, такие как __foo_bar_baz__, которые начинаются и заканчиваются двумя символами подчеркивания, считаются зарезервированными для внутреннего использования в Octave. Не следует использовать их в своем коде, за исключением случаев обращения к документированным внутренним переменным Octave и встроенным символьным константам.

Регистр букв в именах переменных имеет значение. Символы a и A обозначают разные переменные.

Имя переменной само по себе является допустимым выражением. Оно представляет текущее значение переменной. Новые значения переменным присваиваются с помощью операторов присваивания и операторов инкремента. См. Выражения присваивания.

Существует одна автоматически создаваемая переменная с особым значением. Переменная ans всегда содержит результат последнего вычисления, если его вывод не был присвоен какой-либо переменной. Код a = cos (pi) присвоит переменной a значение -1, но не изменит значение ans. Однако код cos (pi) присвоит ans значение -1.

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

Автоматическая переменная: ans

Последний вычисленный результат, который не был явно присвоен переменной.

Например, после вычисления выражения

3^2 + 4^2

значение, возвращаемое ans, равно 25.

: tf = isvarname (name)

Возвращает true, если name является допустимым именем переменной.

Допустимое имя переменной состоит из букв, цифр и символов подчеркивания («_»); первый символ не должен быть цифрой.

См. также: iskeyword, exist, who.

: varname = matlab.lang.makeValidName (str)
: varname = matlab.lang.makeValidName (…, "ReplacementStyle", rs)
: varname = matlab.lang.makeValidName (…, "Prefix", pfx)
: [varname, ismodified] = matlab.lang.makeValidName (…)

Создает допустимое имя переменной varname на основе str.

Входной аргумент str должен быть строкой или массивом ячеек со строками. Выходной аргумент varname будет иметь тот же тип.

Допустимое имя переменной представляет собой последовательность букв, цифр и символов подчеркивания, не начинающуюся с цифры.

Параметр "ReplacementStyle" определяет способ обработки недопустимых символов. Допустимые значения:

"underscore" (по умолчанию)

Заменить все недопустимые символы символом подчеркивания ("_").

"delete"

Удалить все недопустимые символы.

"hex"

Заменить все недопустимые символы их шестнадцатеричным представлением.

Пробельные символы всегда удаляются до применения параметра "ReplacementStyle". Строчные буквы, следующие за пробельным символом, преобразуются в прописные.

Параметр "Prefix" задает строку pfx, добавляемую в качестве префикса к входным данным, если они начинаются с цифры. Сама строка pfx должна быть допустимым именем переменной. Префикс по умолчанию — "x".

Необязательный выходной аргумент ismodified — это логический массив, указывающий, было ли соответствующее значение в str допустимым именем.

См. также: iskeyword, isvarname, matlab.lang.makeUniqueStrings.

: uniqstr = matlab.lang.makeUniqueStrings (str)
: uniqstr = matlab.lang.makeUniqueStrings (str, ex)
: uniqstr = matlab.lang.makeUniqueStrings (str, ex, maxlength)
: [uniqstr, ismodified] = matlab.lang.makeUniqueStrings (…)

Создает список уникальных строк из списка строк.

Входной аргумент str должен быть строкой или массивом ячеек со строками. Выходной аргумент uniqstr будет иметь тот же тип.

Алгоритм делает две строки уникальными, добавляя к второй строке символ подчеркивания ("_" и числовой счетчик.

Если ex — строка или массив ячеек со строками, uniqstr будет содержать элементы, уникальные как относительно друг друга, так и относительно ex.

Если ex — индексный или логический массив для str, он выбирает подмножество элементов str, которые будут сделаны уникальными. Невыбранные элементы не изменяются.

Необязательный входной аргумент maxlength задает максимальную длину любой строки в uniqstr. Если входную строку невозможно сделать уникальной, не превысив maxlength, возникает ошибка.

Необязательный выходной аргумент ismodified — это логический массив, указывающий, был ли изменен каждый элемент str, чтобы сделать его уникальным.

См. также: unique, matlab.lang.makeValidName.

: n = namelengthmax ()

Возвращает максимальную длину имени переменной, совместимую с MATLAB.

Octave способен хранить строки длиной до 2^{31} - 1 символов. Однако для совместимости с MATLAB длина имен всех переменных, функций и полей структур должна быть меньше значения, возвращаемого namelengthmax. В частности, имена переменных, сохраняемых в формате файлов MATLAB (*.mat), будут усечены до этой длины.

  • Глобальные переменные
  • Постоянные переменные
  • Состояние переменных

© 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/Variables.html

Spec-Zone.ru

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