【发布时间】:2016-08-23 00:08:00
【问题描述】:
在 MATLAB 中,我想自定义一个对象,使其与数据类型有关的属性之一将显示一个值(与类型代码相对应的原始数值)及其字符串表示形式,例如: '双'(14)。在下面的代码中,我所说的属性称为datatype。
目前,我已经覆盖了matlab.mixin.CustomDisplay 类并以某种方式对其进行了整理,但我不得不使用字符串变量来合并数字和字符串并形成组合输出。问题是 MATLAB 显示带引号的字符串:
tidx =
idx with properties:
dimensions: 3
datatype: 'double (14)'
size: [3 4 5]
这很好,但我不喜欢它。 MATLAB 在此特定属性处显示字符串时有什么方法可以去掉引号?
类定义:
classdef idx < matlab.mixin.CustomDisplay
properties
filename
end
properties(SetAccess=private)
dimensions
datatype
size
end
% ...
methods(Access=protected)
function propgrp = getPropertyGroups(app)
if ~isscalar(app)
propgrp = ...
getPropertyGroups@matlab.mixin.CustomDisplay(app);
else
sizestr = ...
sprintf('%s (%d)', app.datatypenum2str(app.datatype), app.datatype);
propList = struct(...
'dimensions',app.dimensions,...
'datatype', sizestr, ...
'size',app.size);
propgrp = matlab.mixin.util.PropertyGroup(propList);
end
end
end
end
【问题讨论】: