开发者

Suppressing a function's command window output

开发者 https://www.devze.com 2023-01-03 01:43 出处:网络
A function I\'m using has display() in it (or other things that display messages on command window), so it outputs a lot of things (x 1200) on command line when I run my code, which makes things hard

A function I'm using has display() in it (or other things that display messages on command window), so it outputs a lot of things (x 1200) on command line when I run my code, which makes things hard to track and observe.

Is there a way 开发者_运维知识库to suppress the output of this specific function? Ending the statement with semicolon obviously doesn't help.


You might try wrapping the call to the function in an evalc:

evalc('out = func(arg1, arg2);');


The easiest way is to just create a dummy function DISP/DISPLAY and place it in a private folder along with your own function:

private/disp.m

function disp(x)
    return
end

myFunc.m

function myFunc()
    %# ...
    disp(1)
end

By placing the disp function inside a private folder, you override the built-in function with the same name, yet this version is only visible to functions in the parent directory, thus maintaining the original functionality in other places.

Make sure that you DON'T add this private folder to your path, just have myFunc.m on the path (Please read the relevant documentations)

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号