Main Content

本页采用了机器翻译。点击此处可查看英文原文。

copy

类: slreportgen.report.Reporter
命名空间: slreportgen.report

创建 Simulink 报告器对象的副本并对某些属性值进行深度复制

自 R2021a 起

语法

reporterObj2 = copy(reporterObj1)

说明

reporterObj2 = copy(reporterObj1) 返回指定报告器对象的副本。返回的副本包含引用报告器或 DOM 对象的 reporterObj1 的任何属性值的 深拷贝。因此,reporterObj2 中对应的属性值引用一个新的、独立的对象。您可以修改原始对象或新对象的属性而不影响其他对象。

输入参数

全部展开

要复制的报告者,指定为 报告器类 的对象。

输出参量

全部展开

报告器的副本,作为 报告器类 的对象返回。

示例

全部展开

此示例复制了 DocBlock 报告器,以显示深度复制操作对报告器属性的影响。修改 DocBlock 对象副本的 TextFormatter 属性中 Text 对象的某个属性,不会影响原始的 DocBlock 对象。

加载模型。

import slreportgen.report.*

model_name = "slrgex_fuelsys";
load_system(model_name);
docBlock = "slrgex_fuelsys/To Controller/Sensor Info";

创建一个 DocBlock 报告器。

rptr1 = DocBlock(docBlock);

报告器的 TextFormatter 属性引用的 Text 对象的 Bold 属性为空。

rptr1.TextFormatter.Bold
ans =

     []

复制 DocBlock 对象。在副本中,将 TextFormatter 属性引用的 Text 对象的 Bold 属性设置为 true

rptr2 = copy(rptr1);
rptr2.TextFormatter.Bold = true;
rptr2.TextFormatter.Bold
ans = logical
   1

原有的 DocBlock 对象中,TextFormatter 属性引用的对象的 Bold 属性仍然为空。

rptr1.TextFormatter.Bold
ans =

     []

详细信息

全部展开

版本历史记录

在 R2021a 中推出