When overloading a builtin function: can I copy the original signature to allow auto-complete?
6 views (last 30 days)
Show older comments
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 Comments
Answers (1)
Ramtej
on 5 Sep 2023
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 Comment
Benjamin Penazek
on 1 Oct 2024 at 14:18
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.
See Also
Categories
Find more on Environment and Settings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!