How to check if output argument is ignored?

5 visualizzazioni (ultimi 30 giorni)
Is is possible to check if a function gets called with to-be-ignored output arguments (using ~)?
function [Y1, Y2] = MyFunction(...)
% common code for Y1 and Y2 here
if //insert_check_here//
% avoid this code when called as [~, B] = MyFunction (...)
end
For all these situations below, however, nargout returns 2, so that function seems to have no use in solving my problem.
[~,b] = myFunction
[a,~] = myFunction
[~,~] = myFunction % you may think about the usefulness of this call :)
Thanks! ~ Jos

Risposta accettata

Stephen23
Stephen23 il 30 Gen 2018
Modificato: Stephen23 il 30 Gen 2018
  4 Commenti
Jos (10584)
Jos (10584) il 30 Gen 2018
Done!
Adding an input to nargout would do: nargout(N) returning true if the N-th output argument is present and not ignored ... Without input argument, no change in behaviour. Plain and simple, without functionality loss, I think :D
Ulf Ranggård
Ulf Ranggård il 6 Apr 2022
It's now 2022, apparently this suggestion was not implemented?
Are there now any other standard way to detect the callers use of ~ ?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Introduction to Installation and Licensing in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by