# HG changeset patch # User jwe # Date 1078462627 0 # Node ID de3b34644549aafa9d112a5025c166a41a86f95c # Parent ef6ae7349d5958e2ae3f4b903b53bbfd66a84962 [project @ 2004-03-05 04:57:07 by jwe] diff -r ef6ae7349d59 -r de3b34644549 scripts/ChangeLog --- a/scripts/ChangeLog Thu Mar 04 22:10:45 2004 +0000 +++ b/scripts/ChangeLog Fri Mar 05 04:57:07 2004 +0000 @@ -1,6 +1,7 @@ 2004-03-04 John W. Eaton * general/deal.m: New function. + Add tests from Paul Kienzle. 2004-03-03 Stefan van der Walt diff -r ef6ae7349d59 -r de3b34644549 scripts/general/deal.m --- a/scripts/general/deal.m Thu Mar 04 22:10:45 2004 +0000 +++ b/scripts/general/deal.m Fri Mar 05 04:57:07 2004 +0000 @@ -66,15 +66,19 @@ if (nargin == 0) usage ("[a, b, c, d] = deal (x, y, z, a)"); - elseif (nargin == 1) - v = varargin{1}; - for i = 1:nargout - varargout{i} = v; - endfor - elseif (nargin == nargout) - varargout = varargin; + elseif (nargin == 1 || nargin == nargout) + varargout(:) = varargin; else error ("deal: nargin > 1 and nargin != nargout"); endif endfunction + +%!test +%! [a,b]=deal(1,2); +%! assert(a,1); +%! assert(b,2); +%!test +%! [a,b]=deal(1); +%! assert(a,1); +%! assert(b,1);