Mercurial > hg > ishara
diff general/tostring.m @ 4:e44f49929e56
Adding reorganised general toolbox, now in several subdirectories.
author | samer |
---|---|
date | Sat, 12 Jan 2013 19:21:22 +0000 |
parents | |
children | 47cb292350f3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/general/tostring.m Sat Jan 12 19:21:22 2013 +0000 @@ -0,0 +1,22 @@ +function s=tostring(varargin) +% tostring - Tries to represent values as a sensible string +% +% tostring :: A -> string. +% tostring :: A, B -> string. +% etc. +% +% Multiple inputs are converted to comma-separated string. + s=cat_sep(',',map(@tostr,varargin)); + +function s=tostr(x) + if ischar(x), s=x; + elseif isnumeric(x), + sz=size(x); + if prod(sz)<16, s=mat2str(x); + else s=sprintf('%s[%s]',class(x),mat2str(sz)); end + elseif isa(x,'function_handle'), s=func2str(x); + if s(1)~='@', s=['@' s]; end + elseif isa(x,'func'), s=tostring(x); + else s=['obj:' class(x)]; + end +