我希望有人向我解释这些代码行。值得一提的是,此代码是显示功能的一部分。
if isa(obj,'PhArea')
disp(t)
elseif isequal(get(0,'FormatSpacing'),'compact')
disp([inputname(1) '='];
disp(t);
else%that is format loose
disp(' ')
disp([inputname(1) ' =']);
disp(' ');
disp(t)
end
答案 0 :(得分:0)
此代码仅确定如何显示变量t
的值,具体取决于t
的类型以及当前format
设置。
% If this is a PhArea instance
if isa(t, 'PhArea)
% Then just display it
disp(t)
% If the user has enabled compact formatting (format compact)
elseif isequal(get(0, 'formatspacing'), 'compact')
% Display the variable's name and an equal sign (no spaces)
disp([inputname(1), '='])
% Display the variable itself
disp(t)
% Otherwise
else
% Display an empty line
disp(' ')
% Display the variable's name and an equal sign (with space)
disp([inputname(1), ' ='])
% Display an empty line
disp(' ')
% Display the variable
disp(t)
end
<强>更新强>
以下行是最棘手的。
isequal(get(0, 'formatspacing'), 'compact')
这样做会检索当前的format spacing。 0
是图形root object,用于存储适用于给定MATLAB会话的信息。当用户指定他们想要使用'compact'
格式间距时,此配置将存储在根对象中。
format loose
get(0, 'formatspacing')
% loose
format compact
get(0, 'formatspacing')
% compact
因此,通过将当前设置检索为字符串,您可以将其(使用isequal
)与'compact'
进行比较,以查看用户是否要使用紧凑格式间距。