Custom function App Designer [Matlab] [App Designer]

Hello !
I made a discovery in App Designer : it seems like "app" is optional when using custom functions :
methods (Access = private)
function add(app, a, b) % get both parameters BUT also app before !
disp(a + b);
end
function startupFcn(app)
app.add(app, 5, 6); % print 11
app.add(5, 6); % let's send 2 parameters (without app) / print also 11
end
end
Am I right ?
Is it advisable to send "app" first ?
Robin

 Accepted Answer

No, the app object is not optional. You must pass it into the method in order to invoke the method.
What you're seeing is one of the two ways to invoke a method, dot notation versus function notation. See the section "Dot Notation vs. Function Notation" on this documentation page for a description of the specific cases where those two approaches to invoking a method can differ. [You can also use this to dynamically call a method whose name is stored in a string or char variable, as described in the "Referencing Names with Expressions—Dynamic Reference" section on that same documentation page.]
When you use dot notation, the object before the dot is passed into the method as the first input.

1 Comment

Thank you so much Steven Lord ! ?
But which one is better ?
add(app, 5, 6);
app.add(5, 6);

Sign in to comment.

More Answers (0)

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Products

Release

R2018a

Asked:

on 14 Mar 2019

Edited:

on 14 Mar 2019

Community Treasure Hunt

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

Start Hunting!