Mercurial > repos > public > sbplib
diff dealStruct.m @ 979:7a5e770974ed feature/timesteppers
Merge with default
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Mon, 07 Jan 2019 16:26:00 +0100 |
parents | b7ec26da3d77 |
children |
line wrap: on
line diff
--- a/dealStruct.m Mon Dec 03 16:49:43 2018 -0800 +++ b/dealStruct.m Mon Jan 07 16:26:00 2019 +0100 @@ -1,9 +1,18 @@ function varargout = dealStruct(s, fields) - default_arg('fields', fieldnames(s)); + default_arg('fields', []); - assert(nargout == length(fields), 'Number of output arguements must match the number of fields'); - - for i = 1:length(fields) - varargout{i} = s.(fields{i}); + if isempty(fields) + out = dealFields(s, fieldnames(s)); + varargout = out(1:nargout); + else + assert(nargout == length(fields), 'Number of output arguements must match the number of fieldnames provided'); + varargout = dealFields(s, fields); end end + +function out = dealFields(s, fields) + out = cell(1, length(fields)); + for i = 1:length(fields) + out{i} = s.(fields{i}); + end +end