How to check if output argument is ignored?

5 visualizaciones (últimos 30 días)
Jos (10584)
Jos (10584) el 30 de En. de 2018
Comentada: Ulf Ranggård el 6 de Abr. de 2022
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

Respuesta aceptada

Stephen23
Stephen23 el 30 de En. de 2018
Editada: Stephen23 el 30 de En. de 2018
  4 comentarios
Jos (10584)
Jos (10584) el 30 de En. de 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 el 6 de Abr. de 2022
It's now 2022, apparently this suggestion was not implemented?
Are there now any other standard way to detect the callers use of ~ ?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by