comparison scripts/general/deal.m @ 4819:de3b34644549

[project @ 2004-03-05 04:57:07 by jwe]
author jwe
date Fri, 05 Mar 2004 04:57:07 +0000
parents ef6ae7349d59
children a436d388b041
comparison
equal deleted inserted replaced
4818:ef6ae7349d59 4819:de3b34644549
64 64
65 function [varargout] = deal (varargin) 65 function [varargout] = deal (varargin)
66 66
67 if (nargin == 0) 67 if (nargin == 0)
68 usage ("[a, b, c, d] = deal (x, y, z, a)"); 68 usage ("[a, b, c, d] = deal (x, y, z, a)");
69 elseif (nargin == 1) 69 elseif (nargin == 1 || nargin == nargout)
70 v = varargin{1}; 70 varargout(:) = varargin;
71 for i = 1:nargout
72 varargout{i} = v;
73 endfor
74 elseif (nargin == nargout)
75 varargout = varargin;
76 else 71 else
77 error ("deal: nargin > 1 and nargin != nargout"); 72 error ("deal: nargin > 1 and nargin != nargout");
78 endif 73 endif
79 74
80 endfunction 75 endfunction
76
77 %!test
78 %! [a,b]=deal(1,2);
79 %! assert(a,1);
80 %! assert(b,2);
81 %!test
82 %! [a,b]=deal(1);
83 %! assert(a,1);
84 %! assert(b,1);