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!