![]() |
如何在MATLAB中创建“空”匿名函数?
在MATLAB中进行调试时,我使用匿名函数进行诊断打印。例如,
debug_disp = @(str) disp(str); debug_disp('Something is up.') ... debug_disp = @(str) disp([]); % diagnostics are now hidden 用disp([])当作“小东西”对我来说有点脏。有更好的选择吗?显而易见的(?)方法不起作用: debug_disp = @(str) ; 我认为,这可能对其他功能语言应用程序有用,而不仅仅是诊断打印。 回答: 您可以在代码库中添加常规的虚无功能。 function NOP(varargin) %NOP Do nothing % % NOP( ... ) % % A do-nothing function for use as a placeholder when working with callbacks % or function handles. % Intentionally does nothing 然后,您可以在不希望出现任何操作的地方使用函数句柄,而不是匿名函数。 debug_disp = @NOP; 现在,它有点自我记录,明确表明您打算什么也不做,而不是抓住了disp()的错误输入。在源代码中将显而易见,此外,当您在调试器中并检查包含函数句柄的变量时,它将显示为“ @NOP”,它可能比匿名句柄更具可读性。通过查看NOP的呼叫者列表,您可以在“概要文件报告”输出中获得所有已完成操作的列表。 您还可以使用Matlab的内置@deal,在退化的情况下,它什么也不做,什么也不返回。 [url=https://stackoverflow.com/questions/1904972]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 01:04。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.