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) присвоит значение -1 переменной a, но не изменит значение 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–2023 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.2.0/Variables.html

Spec-Zone.ru

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