在 MATLAB 中,是不是可以重新定义 `clear` 以清除命令窗口,而不是清除存储的变量?
Posted
技术标签:
【中文标题】在 MATLAB 中,是不是可以重新定义 `clear` 以清除命令窗口,而不是清除存储的变量?【英文标题】:In MATLAB, is it possible to redefine `clear` to clear the command window, rather than clear the stored variables?在 MATLAB 中,是否可以重新定义 `clear` 以清除命令窗口,而不是清除存储的变量? 【发布时间】:2015-10-19 15:29:03 【问题描述】:是否可以将clear
函数重新定义为clc
?
我习惯使用 *nix 终端,所以很多时候,当我想清除命令窗口时,我最终会清除存储的变量。
这是我的理想方案。
clear
清除命令窗口,还有一些其他命令,可能clearvars
清除定义的变量。
【问题讨论】:
没有。请不要这样做。只需习惯于调用clc
而不是clear
。如果你是一个国家的新移民,你不会将你以前国家的原则强加给它的公民。因此,不要试图将 Unix 原理强加到 MATLAB 上。
把clear
改写成clc
的问题是,当你把你的脚本移植到另一台机器或者从其他机器导入脚本到你的机器时,clear
会被调用,而不是它预计会这样做。
@rayryeng 和 Adriaan:我同意,重载 clear
不是一个好主意,但这是一个关于重载内置函数的有效问题。这可能不是最好的问题,但恕我直言,它不值得所有的反对。不知道重载 clear
可能会导致不良后果与“给我 codez”或其他不好的问题不同。
@StewieGriffin - FWIW,我没有投反对票。这其实是个好问题,但不推荐使用。
【参考方案1】:
为防止数据丢失,您可以创建自己的clear.m
,它什么都不做:
function clear(varargin)
warning('call of clear skipped');
end
如果你真的想访问clear,你必须使用builtin
。
我建议将此文件保留在您的搜索路径上几周,直到您习惯 matlab 命令名称。
【讨论】:
以上是关于在 MATLAB 中,是不是可以重新定义 `clear` 以清除命令窗口,而不是清除存储的变量?的主要内容,如果未能解决你的问题,请参考以下文章