Mercurial > hg > octave-nkf
comparison scripts/strings/strcat.m @ 8143:3a4694d67dbb
strcat.m: Compatibility of non-char data
author | Ben Abbott <bpabbott@mac.com> |
---|---|
date | Wed, 24 Sep 2008 14:42:04 -0400 |
parents | 12a68443191c |
children | 502e58a0d44f |
comparison
equal
deleted
inserted
replaced
8142:54b41376e381 | 8143:3a4694d67dbb |
---|---|
44 dims{nargin} = []; | 44 dims{nargin} = []; |
45 allchar = true; | 45 allchar = true; |
46 for nv = 1:nargin | 46 for nv = 1:nargin |
47 if (ischar (varargin{nv})) | 47 if (ischar (varargin{nv})) |
48 varargin{nv} = cellstr (varargin{nv}); | 48 varargin{nv} = cellstr (varargin{nv}); |
49 elseif (isreal (varargin{nv})) | |
50 varargin{nv} = cellstr (char (varargin{nv})); | |
51 elseif (isempty (varargin{nv})) | |
52 varargin{nv} = cellstr (''); | |
49 elseif (iscell (varargin{nv})) | 53 elseif (iscell (varargin{nv})) |
50 allchar = false; | 54 allchar = false; |
51 else | 55 else |
52 error ("strcat: inputs must be strings or cells of strings.") | 56 error ("strcat: inputs must be strings or cells of strings.") |
53 endif | 57 endif |
113 %!assert(all (strcmp (strcat ({"a", "bb"}, "ccc"), {"accc", "bbccc"}))) | 117 %!assert(all (strcmp (strcat ({"a", "bb"}, "ccc"), {"accc", "bbccc"}))) |
114 %!assert(all (strcmp (strcat ("a", {"bb", "ccc"}), {"abb", "accc"}))) | 118 %!assert(all (strcmp (strcat ("a", {"bb", "ccc"}), {"abb", "accc"}))) |
115 | 119 |
116 %!error strcat (); | 120 %!error strcat (); |
117 | 121 |
118 %!error strcat (1, 2); | 122 %!assert (strcat (1, 2), strcat (char(1), char(2))) |
119 | 123 |
124 %!assert (strcat ('', 2), strcat ([], char(2))) | |
125 |