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 является допустимым именем переменной.
Допустимое имя переменной состоит из букв, цифр и символов подчеркивания ("_"), и первый символ не должен быть цифрой.
- : 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/v8.1.0/Variables.html