inputname

Retorna o nome da variável passada como um dado argumento da função atual.

Categoria: Programming > Functions

Sintaxe

name = inputname(argNumber)

Retorna o nome da variável usado no argumento argNumber.

name = inputname(argNumber, ids_only)

O sinalizador opcional ids_only controla o que é retornado quando o argumento não é uma variável simples.

Descrição

Uma função normalmente enxerga só valores. inputname permite recuperar o nome que o chamador usou, o que serve para rotular saídas, como em disp([inputname(1) ' = ' num2str(x)]). Quando o argumento não era uma variável simples, o resultado é vazio ou, com ids_only igual a false, o texto da expressão. Só pode ser chamada dentro de uma função.

O exemplo abaixo grava uma função show em um arquivo; no MATLAB ela imprime [alpha].

Argumentos de entrada

argNumber
Posição do argumento, contada a partir de 1.
ids_only
Lógico, opcional. Define se apenas nomes de variáveis são aceitos (padrão true).

Argumentos de saída

name
Vetor de caracteres com o nome da variável do chamador, ou vazio.

Exemplo

Nomeando os argumentos

writelines(["function show(a)", "  fprintf('[%s]\n', inputname(1));", "end"], 'show.m');
alpha = 1;
show(alpha)
Saída
[]

O MatLivre hoje retorna um nome vazio aqui, então imprime [].

Observações

No MatLivre, inputname sempre retorna um vetor de caracteres vazio, seja qual for o argumento. Passe o nome de forma explícita quando uma função precisar dele.

Veja também

evalin assignin inputParser