How to create variable with special characters like [ ] { } etc
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I need to create variables having special characters like [ ] { } in workspace. For Example create variable with name variable_name_s[pop]. I am not sure whether it is possible or not in Matlab. Please let me know about this. Thanks.
1 commentaire
Ashish Uthama
le 12 Juil 2011
Why would you want to do this? If you have a use-case, people here might be able to give you a better answer.
Réponse acceptée
Jan
le 12 Juil 2011
It works. The names of variables are stored as C-strings, which can be modifed in a MEX function. But it will have the drawback, that you cannot access the variables anymore: If the interpreter parses the symbol 'name{i}' it uses 'name' as name of the variable and the part in the curly braces as cell index. Therefore the interpreter will not search for a variable called 'name{i}', and in consequence it will not find it. I think CLEAR is a better method to make a variable unaccessible.
This can be used to rename field names of structs freely: FEX: RenameField. Together with dynamic fieldnames they can be accessed, e.g. S.('name[{]}'). But I have never seen a useful application for such dirty tricks.
0 commentaires
Plus de réponses (3)
Bjorn Gustavsson
le 12 Juil 2011
Try to avoid such nonsense asap. Nothing good can come out of that. If you somehow want a [ or another non-"alphanum" character in a variable name you should take a step back and rethink your design. Stick to 0-9 a-z A-Z and _!
See: http://www.mathworks.com/help/techdoc/matlab_prog/f10-60729.html#f10-60768 for more info on variable naming.
Walter Roberson
le 12 Juil 2011
Perhaps the containers.Map class would be suitable for you; see http://www.mathworks.com/help/techdoc/matlab_prog/brqqo5e-1.html
0 commentaires
Voir également
Catégories
En savoir plus sur Characters and Strings dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!