Main Content

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

findLabel

プロジェクト ファイルのラベルを取得する

説明

label = findLabel(file,categoryName,labelName) は、指定したファイルから、指定したカテゴリで指定したラベルを取得します。ラベル定義およびそのラベルに追加されたデータを返します。ラベルの名前とカテゴリが分かっている場合は、この構文を使用してください。ラベルが見つからない場合は、findLabel は空の配列を返します。

label = findLabel(file,labelDefinition) は指定したラベル定義オブジェクトで定義されたラベルを取得します。myfile.Labels(1) のような式を使用するなどして、以前に Labels プロパティにアクセスして labelDefinition を取得している場合は、この構文を使用します。

label = findLabel(category,labelName) はファイル名やカテゴリ名ではなく、カテゴリ オブジェクトを使用してラベルを取得します。カテゴリ オブジェクトを proj.Categories プロパティから、または関数 findCategory を使用して取得した場合は、この構文を使用します。

すべて折りたたむ

ラベル "Utility" をもつすべてのプロジェクト ファイルを検索します。

プロジェクト Times Table App を開きます。currentProject を使用して、現在読み込まれているプロジェクトからプロジェクト オブジェクトを作成します。

matlab.project.example.timesTable
proj = currentProject;

プロジェクト ファイル一覧を取得します。

files = proj.Files;

ファイルをループします。関数 fileparts で返される最後の要素を取り出して、各ファイルの拡張子を取得します。ファイルに .m という拡張子が含まれる場合、ラベル "Utility" を追加します。

for fileIndex = 1:numel(files)
   file = files(fileIndex);
   [~,~,fileExtension] = fileparts(file.Path);
   if strcmp(fileExtension,".m")
      addLabel(file,"Classification","Utility");
   end
end

関数 findLabel を使用して、ラベル "Utility" をもつすべてのファイルを検索し、配列 utilityFilesToReview に追加します。

utilityFilesToReview = {};
for jj=1:numel(files)
   thisFile = files(jj);   
   label = findLabel(thisFile,"Classification","Utility");
   if (~isempty(label))
      % This is a file labeled "Utility". Add to the 
      % list of utility files.
      utilityFilesToReview = [utilityFilesToReview; thisFile];
   end
end

プロジェクト Times Table App を開きます。currentProject を使用して、現在読み込まれているプロジェクトからプロジェクト オブジェクトを作成します。

matlab.project.example.timesTable
proj = currentProject;

名前を指定してファイルを取得します。

myfile = findFile(proj,"source/timesTableGame.m");

名前を指定してそのファイルからラベルを取得します。

label = findLabel(myfile,"Classification","Design");
label = 

  Label with properties:

            File: "C:\myProjects\examples\TimesTableApp\source\timesTableGame.m"
        DataType: 'none'
            Data: []
            Name: "Design"
    CategoryName: "Classification"

ファイルに付けられているラベルごとにファイルの Labels プロパティを調べ、Label オブジェクトの配列を取得します。Labels プロパティにインデックスを付けて、特定のファイルに付けられているラベル定義を取得します。

labels = myfile.Labels
labeldefinition = myfile.Labels(1)

ラベル定義からラベルを取得します。

label = findLabel(myfile,labeldefinition);

プロジェクト Times Table App を開きます。currentProject を使用して、現在読み込まれているプロジェクトからプロジェクト オブジェクトを作成します。

matlab.project.example.timesTable
proj = currentProject;

カテゴリを取得します。

category = proj.Categories(1)
category = 

  Category with properties:

                Name: "Classification"
        SingleValued: 1
            DataType: "none"
    LabelDefinitions: [1×7 matlab.project.LabelDefinition]

そのカテゴリからラベル定義を取得します。

ld = findLabel(category,"Design")
ld = 

  LabelDefinition with properties:

            Name: "Design"
    CategoryName: "Classification"

入力引数

すべて折りたたむ

検索対象のファイル。ProjectFile オブジェクトまたはファイル オブジェクトの配列として指定します。プロジェクトの Files プロパティを調べて (構文 proj.Files を使用) ファイル オブジェクトを取得することも、findFile を使用して名前を指定してファイルを取得することもできます。ファイルは指定したプロジェクト内になければなりません。

ラベルのカテゴリの名前。文字ベクトルまたは string スカラーとして指定します。

ラベル名。文字ベクトルまたは string スカラーとして指定します。

ラベル定義。file.Label プロパティから取得した LabelDefinition オブジェクトとして指定します。

カテゴリ オブジェクト。カテゴリ オブジェクトは、proj.Categories プロパティから取得するか、関数 findCategory を使用して取得します。

出力引数

すべて折りたたむ

ラベル。Label オブジェクトとして返されます。

R2019a で導入