Имя переменной входного параметра функции
inputname
удобный способ состоит в том, чтобы передать имя входной переменной к функции. Например, функция проверяет типы данных входных параметров и, если она находит неправильный тип, отображает имя переменной из вашей рабочей области.
Избегать использования inputname
в критическом пути кода или получить имена переменных, которые будут использоваться с командами такой как eval
, evalin
, и assignin
. Это использование inputname
может вести, чтобы закодировать, который затрудняет, чтобы обеспечить.
inputname
возвращает ошибку, если она называется в перегруженном subsref
subsasgn
subsindex
numArgumentsFromSubscript
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
возвращает имена переменных в базовое рабочее пространство