When overloading a builtin function: can I copy the original signature to allow auto-complete?

조회 수: 1 (최근 30일)
Say I define my own implementation for the plot function:
function varargout = plot(varargin)
% do my own stuff
% ...
% call the builtin function:
[varargout{1:nargout}] = builtin('plot', varargin{:});
end
It all works fine, except that the new function does not auto-complete.
Can I copy the signature of the built-in function to my new function to allow auto-complete?

답변 (1개)

Ramtej
Ramtej 2023년 9월 5일
Hi royk,
I assume "new function does not auto complete" means that MATLAB does not auto complete the name of your function.
The auto completion does not work because your new function definition file is not in the MATLAB path.
Add the folder of new function to the MATLAB path, then auto complete should work.
You can refer to the Function Precedence Order when you are calling the overloaded function.
Hope this resolves your query!
  댓글 수: 1
Benjamin Penazek
Benjamin Penazek 2024년 10월 1일
I assume rather that royk means there is no autocomplete for plot-related inputs like 'LineWidth' and other positional and name-value arguments. It's nice to hit TAB and have a list of arguments to supply, like line colors and markers. Otherwise we're at the mercy of our memory with how things are spelled and capitalized.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Environment and Settings에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by