How to create variable with special characters like [ ] { } etc
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commento
Ashish Uthama
il 12 Lug 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.
Risposta accettata
Jan
il 12 Lug 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 Commenti
Più risposte (3)
Bjorn Gustavsson
il 12 Lug 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
il 12 Lug 2011
Perhaps the containers.Map class would be suitable for you; see http://www.mathworks.com/help/techdoc/matlab_prog/brqqo5e-1.html
0 Commenti
Vedere anche
Categorie
Scopri di più su Characters and Strings in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!