How to create variable with special characters like [ ] { } etc

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

Why would you want to do this? If you have a use-case, people here might be able to give you a better answer.

Connectez-vous pour commenter.

 Réponse acceptée

Jan
Jan le 12 Juil 2011

2 votes

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.

Plus de réponses (3)

Paulo Silva
Paulo Silva le 12 Juil 2011

0 votes

No and would be a bad idea if you could do it.
Bjorn Gustavsson
Bjorn Gustavsson le 12 Juil 2011

0 votes

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 _!

1 commentaire

Sorry.. I am beginner in Matlab.. I was not knowing variable naming convention..

Connectez-vous pour commenter.

Catégories

En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by