Main Content

findLabel

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

説明

label = findLabel(file,categoryName,labelName) は、指定したファイル 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 を使用して、現在読み込まれているプロジェクトからプロジェクト オブジェクトを作成します。

openExample("matlab/TimesTableProjectExample")
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 = [findLabel(files,"Classification","Utility").File]';

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

openExample("matlab/TimesTableProjectExample")
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 を使用して、現在読み込まれているプロジェクトからプロジェクト オブジェクトを作成します。

openExample("matlab/TimesTableProjectExample")
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 オブジェクトまたは ProjectFile オブジェクトの配列として指定します。プロジェクト ファイルのプロパティを調べて (構文 proj.Files を使用) プロジェクト ファイル オブジェクトを作成することも、findFile を使用して名前を指定してファイルを取得することもできます。ファイルは指定したプロジェクト内になければなりません。

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

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

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

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

出力引数

すべて折りたたむ

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

バージョン履歴

R2019a で導入