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.
- : isvarname (name) ¶
-
Возвращает true, если name является допустимым именем переменной.
Допустимое имя переменной состоит из букв, цифр и символов подчёркивания ("_"), и первый символ не должен быть цифрой.
- : 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.
- : namelengthmax () ¶
-
Возвращает максимальную длину имени переменной, совместимую с MATLAB.
Octave способен хранить строки длиной до 2^{31} - 1. Однако для совместимости с MATLAB все имена переменных, функций и полей структур должны быть короче длины, возвращаемой
namelengthmax. В частности, переменные, сохранённые в формате файла MATLAB (*.mat), будут иметь свои имена, усечённые до этой длины.
© 1996–2022 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/v7.2.0/Variables.html