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

5 次查看(过去 30 天)
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 个评论
Ashish Uthama
Ashish Uthama 2011-7-12
Why would you want to do this? If you have a use-case, people here might be able to give you a better answer.

请先登录,再进行评论。

采纳的回答

Jan
Jan 2011-7-12
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.

更多回答(3 个)

Paulo Silva
Paulo Silva 2011-7-12
No and would be a bad idea if you could do it.

Bjorn Gustavsson
Bjorn Gustavsson 2011-7-12
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 _!

Walter Roberson
Walter Roberson 2011-7-12
Perhaps the containers.Map class would be suitable for you; see http://www.mathworks.com/help/techdoc/matlab_prog/brqqo5e-1.html

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by