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?
댓글 수: 0
답변 (1개)
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.
Link to documentation: https://in.mathworks.com/help/matlab/matlab_prog/function-precedence-order.html
Hope this resolves your query!
댓글 수: 1
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 Center 및 File Exchange에서 Environment and Settings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!