How can I access a structure by using purely strings?
显示 更早的评论
My current code requests a structure from the user as an input in the form of its name 'file'. I am trying to access this structure in my function with the string 'file'. For example
structure's name is file
i can access the fields in it by writing file.field. I can also do n = 'field'; and access the same thing doing file.(n). I cannot however do y = 'file' and access the same field doing (y).(n). Is there a way around this?
Thanks
3 个评论
Kirby Fears
2016-6-16
If you have many named structures you're trying to iterate over, like 'file1', 'file2', etc, why don't you put them all into subfields of a root struct?
root.file1.field could be accessed as root.(y).(n) as you pointed out.
Xavier
2016-6-16
@Xavier: there are ways, but MATLAB has a whole page recommending against this:
Read this to know some reasons for avoiding doing this:
If you actually describe the whole situation a bit more, then we can advise you better ways to achieves what you want to do. Are you using load ?
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!