How TABLE retreive the variable names?

This example from the doc shows table is able to retrieve the variable names of the iput arguments list and uses them as column name:
LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Then
T = table(LastName,Age)
I get
T =
5×2 table
LastName Age
_________ ___
'Sanchez' 38
'Johnson' 43
'Li' 38
'Diaz' 40
'Brown' 49
For
T = table(LastName,Age+1)
I get
T =
5×2 table
LastName Var2
_________ ____
'Sanchez' 39
'Johnson' 44
'Li' 39
'Diaz' 41
'Brown'
My question is simple: how can do the same (retrieve the variable names) within my own function?
If yes, same question for output arguments:
bar = foo(123);
can foo retrieves 'bar'?

 Respuesta aceptada

Stephen23
Stephen23 el 6 de Nov. de 2018

1 voto

4 comentarios

Bruno Luong
Bruno Luong el 6 de Nov. de 2018
Thanks. It doesn't look like the dual outputname exists?
Stephen23
Stephen23 el 6 de Nov. de 2018
Correct, outputname does not exist.
Peter Perkins
Peter Perkins el 15 de Nov. de 2018
inputname can be, and has been, way over-used. A little goes a long way. In particular, it is a really bad idea to get the names of your inputs and then overwrite them using evalin.
You may not have wanted to do that. But don't do that.
Bruno Luong
Bruno Luong el 15 de Nov. de 2018
Never use it myself (thus the question), but I can see some circumstances I would want to use it:
  1. Put some more meaningful error message or log message
  2. Check if the input argument is from an expression of a variable, in the MEX file I might not bother to perform inplace change in the first case to save some memory or duplication.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

el 6 de Nov. de 2018

Comentada:

el 15 de Nov. de 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by