Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

変数からフィールド名を生成

この例では、実行時に変数または式から構造体のフィールド名を導出する方法を示します。一般的な構文は次のとおりです。

structName.(dynamicExpression)

ここで、dynamicExpression は、評価されたときに、文字ベクトルまたは string スカラー (後者は R2017b から) を返す変数または式です。式で参照するフィールド名は "動的なフィールド名" と呼ばれます。

たとえば、現在の日付からフィールド名を作成します。

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

フィールド名は変数名と同様にアルファベットで始めなければならず、その他のアルファベット文字、数字、またはアンダースコア文字を含むことができ、大文字と小文字は区別されます。潜在的な競合を避けるために、既存の変数または関数の名前をフィールド名として使用しないでください。

参考

| | |

関連するトピック