MATLAB Answers

0

Should I indicate no input arguments to a function?

Asked by Zoltán Csáti on 23 Sep 2017
Latest activity Commented on by Walter Roberson
on 23 Sep 2017
Suppose I have a function which requires no inputs. Should I indicate it with parentheses () or leave it naked? Both cases work, but is there a convention in the MATLAB community?
Example:
someFunction
% do sth
end
vs
someFunction()
% do sth
end

  1 Comment

Use parentheses. It makes the intention clear (that you meant to define a function with no arguments), and allows you to easily check if a line-end has accidentally been altered (who has never deleted/pasted to the wrong location?).

Sign in to comment.

Products

1 Answer

Answer by Walter Roberson
on 23 Sep 2017
 Accepted Answer

If a function requires no inputs, I prefer to use () after calls to it. It is unambiguous, and saved remember whether the name is a function directly or a function handle (function handles require the () to call them)

  2 Comments

"prefer to use () after calls to it". At the call site, I also put () to differentiate from a variable. If I understood well you also put for the definition (as in my example above), do you?
If I am creating a function with no arguments then it is most likely because I am answering a question here, tossing together something of no lasting importance. In such cases I usually do not bother to put the () in the function definition. In my own code, I do not typically have functions with no parameters.

Sign in to comment.