변수에서 필드 이름 생성하기
이 예제에서는 변수 또는 표현식에서 런타임에 구조체 필드 이름을 도출하는 방법을 보여줍니다. 일반적인 구문은 다음과 같습니다.
structName.(dynamicExpression)
여기서 dynamicExpression
은 실행 시 string형 스칼라를 반환하는 변수나 표현식입니다. 표현식으로 참조하는 필드 이름을 동적 필드 이름이라고 합니다.
예를 들어, 현재 날짜에서 필드 이름을 생성해 보겠습니다.
currentDate = datestr(now,'mmmdd');
myStruct.(currentDate) = [1,2,3]
시스템에서 보고하는 현재 날짜가 2월 29일인 경우 이 코드는 Feb29
라는 필드에 데이터를 할당합니다.
myStruct = Feb29: [1 2 3]
동적 필드 이름은 문자형 벡터나 string형 스칼라를 반환할 수 있습니다. 예를 들어, 작은따옴표나 큰따옴표를 사용하여 필드 Feb29
를 지정할 수 있습니다.
myStruct.('Feb29')
ans = 1 2 3
myStruct.("Feb29")
ans = 1 2 3
필드 이름은 변수 이름과 마찬가지로 문자로 시작해야 하고 문자, 숫자 또는 밑줄 문자를 포함할 수 있으며 대/소문자를 구분합니다. 필드 이름은 마침표를 포함할 수 없습니다. 잠재적인 충돌을 방지하려면 기존 변수나 함수의 이름을 필드 이름으로 사용하지 마십시오.
참고 항목
struct
| fieldnames
| getfield
| setfield