이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

변수에서 필드 이름 생성하기

이 예제에서는 변수 또는 표현식에서 런타임에 구조체 필드 이름을 도출하는 방법을 보여줍니다. 일반적인 구문은 다음과 같습니다.

structName.(dynamicExpression)

여기서 dynamicExpression은 실행 시 문자형 벡터를 반환하는, 또는 R2017b부터는 string형 스칼라를 반환하는 변수나 표현식입니다. 표현식으로 참조하는 필드 이름을 동적 필드 이름이라고 합니다.

예를 들어, 현재 날짜에서 필드 이름을 생성해 보겠습니다.

currentDate = datestr(now,'mmmdd');
myStruct.(currentDate) = [1,2,3]

시스템에서 보고하는 현재 날짜가 2월 29일인 경우 이 코드는 Feb29라는 필드에 데이터를 할당합니다.

myStruct = 
    Feb29: [1 2 3]

동적 필드 이름은 문자형 벡터나 string형 스칼라를 반환할 수 있습니다. 예를 들어, 작은따옴표를 사용하거나 R2017b부터는 큰따옴표를 사용하여 필드 Feb29를 지정할 수 있습니다.

myStruct.('Feb29')
ans =
     1     2     3
myStruct.("Feb29")
ans =
     1     2     3

변수 이름 같은 필드 이름은 문자로 시작해야 하고 문자, 숫자 또는 밑줄 문자를 포함할 수 있으며 대/소문자를 구분합니다. 잠재적인 충돌을 방지하려면 기존 변수나 함수의 이름을 필드 이름으로 사용하지 마십시오. 자세한 내용은 변수 이름 항목을 참조하십시오.