Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

findLabel

获取工程文件标签

说明

示例

label = findLabel(file,categoryName,labelName) 从指定文件中获取指定类别中的指定标签。它返回标签定义及其附加的数据。当您知道标签名称和类别时,请使用此语法。如果找不到标签,findLabel 将返回空数组。

示例

label = findLabel(file,labelDefinition) 获取由指定的标签定义对象定义的标签。如果您以前通过访问 Labels 属性获得 labelDefinition(例如通过使用 myfile.Labels(1) 之类的表达式),请使用此语法。

示例

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 对象或文件对象数组。您可以通过检查工程的文件属性(使用语法 proj.Files)来获取文件对象,或者使用 findFile 按名称获取一个文件。文件必须在指定的工程中。

标签的类别名称,指定为字符向量或字符串标量。

标签的名称,指定为字符向量或字符串标量。

标签定义,指定为从 file.Label 属性获取的 LabelDefinition 对象。

类别对象。从 proj.Categories 属性或使用 findCategory 函数获取一个类别对象。

输出参数

全部折叠

标签,以 Label 对象形式返回。

在 R2019a 中推出