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)
[]
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.