Имя переменной входного параметра функции
s = inputname(argNumber)
возвращает имя переменной рабочей области, s = inputname(argNumber)
s
, соответствуя номеру аргумента argNumber
.
Вы не можете вызвать inputname
от командной строки MATLAB®, или в скрипте вы вызываете от командной строки.
inputname
является удобным способом передать имя входной переменной к функции. Например, функция проверяет типы данных входных параметров и, если она находит неправильный тип, отображает имя переменной из вашей рабочей области.
Избегайте использования inputname
в критическом пути кода или получить имена переменных, которые будут использоваться с командами, такими как eval
, evalin
и assignin
. Это использование inputname
может вести, чтобы закодировать, который трудно поддержать.
inputname
возвращает ошибку, если он называется в перегруженном subsref
, subsasgn
, subsindex
, numel
или наборе свойств, или получите метод.
Если функция, которая вызывает inputname
, не вызвана из файла кода MATLAB, inputname
идет по стеку, пока это не находит вызов из кода MATLAB и возвращает имена, которые это находит там. Например, это поведение происходит, если inputname
называется от встроенной функции или MEX-функции.
Рассмотрите следующий код в который встроенные вызовы функции arrayfun
inputname
через указатель на функцию.
fn=@(x) inputname(x);
a=1:4;
arrayfun(fn,a,'uniformoutput',false)
ans = 'fn' 'a' '' ''
Функция inputname
идет по стеку, пока это не находит вызов из кода MATLAB. В этом случае код MATLAB является базовым рабочим пространством, и inputname
возвращает имена переменных в базовое рабочее пространство