Mercurial > octave
annotate scripts/strings/strcat.m @ 31242:96ad887ae4f8 stable
dec2bin.m and dec2hex.m: graft bugfixes from dd6b37f67db2 to stable (bug #63089)
Fix behavior of dec2bin and dec2hex for negative integer-type inputs
author | Arun Giridhar <arungiridhar@gmail.com> |
---|---|
date | Wed, 28 Sep 2022 17:00:43 -0400 |
parents | 796f54d4ddbf |
children | 5d3faba0342e |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 ######################################################################## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 ## |
30564
796f54d4ddbf
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
3 ## Copyright (C) 1994-2022 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
27898
diff
changeset
|
4 ## |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 ## See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 ## distribution or <https://octave.org/copyright/>. |
2313 | 7 ## |
8 ## This file is part of Octave. | |
9 ## | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24461
diff
changeset
|
10 ## Octave is free software: you can redistribute it and/or modify it |
2313 | 11 ## under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24461
diff
changeset
|
12 ## the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22496
diff
changeset
|
13 ## (at your option) any later version. |
2313 | 14 ## |
15 ## Octave is distributed in the hope that it will be useful, but | |
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22496
diff
changeset
|
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22496
diff
changeset
|
18 ## GNU General Public License for more details. |
2313 | 19 ## |
20 ## You should have received a copy of the GNU General Public License | |
7016 | 21 ## along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24461
diff
changeset
|
22 ## <https://www.gnu.org/licenses/>. |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 ## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 ######################################################################## |
920 | 25 |
3361 | 26 ## -*- texinfo -*- |
20852
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20176
diff
changeset
|
27 ## @deftypefn {} {} strcat (@var{s1}, @var{s2}, @dots{}) |
8442
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
8143
diff
changeset
|
28 ## Return a string containing all the arguments concatenated |
20164
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
29 ## horizontally. |
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
30 ## |
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
31 ## If the arguments are cell strings, @code{strcat} returns a cell string |
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
32 ## with the individual cells concatenated. For numerical input, each element |
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
33 ## is converted to the corresponding ASCII character. Trailing white space |
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
34 ## for any character string input is eliminated before the strings are |
17385
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
35 ## concatenated. Note that cell string values do @strong{not} have |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
36 ## whitespace trimmed. |
14821
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
37 ## |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10037
diff
changeset
|
38 ## For example: |
3426 | 39 ## |
3361 | 40 ## @example |
41 ## @group | |
14821
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
42 ## strcat ("|", " leading space is preserved", "|") |
17385
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
43 ## @result{} | leading space is preserved| |
14821
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
44 ## @end group |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
45 ## @end example |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
46 ## |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
47 ## @example |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
48 ## @group |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
49 ## strcat ("|", "trailing space is eliminated ", "|") |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
50 ## @result{} |trailing space is eliminated| |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
51 ## @end group |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
52 ## @end example |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
53 ## |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
54 ## @example |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
55 ## @group |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
56 ## strcat ("homogeneous space |", " ", "| is also eliminated") |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
57 ## @result{} homogeneous space || is also eliminated |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
58 ## @end group |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
59 ## @end example |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
60 ## |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
61 ## @example |
aad7d7ee8e8a
Clarify doc string for strcat.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
62 ## @group |
3361 | 63 ## s = [ "ab"; "cde" ]; |
64 ## strcat (s, s, s) | |
14327
4d917a6a858b
doc: Use Octave coding conventions in @example blocks of docstrings.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
65 ## @result{} |
17859
5e4cac8f4e43
strcat.m: Fix bad example in docstring (bug #40486).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
66 ## "ababab " |
3361 | 67 ## "cdecdecde" |
68 ## @end group | |
69 ## @end example | |
8442
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
8143
diff
changeset
|
70 ## |
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
8143
diff
changeset
|
71 ## @example |
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
8143
diff
changeset
|
72 ## @group |
17385
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
73 ## s = @{ "ab"; "cd " @}; |
8442
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
8143
diff
changeset
|
74 ## strcat (s, s, s) |
14327
4d917a6a858b
doc: Use Octave coding conventions in @example blocks of docstrings.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
75 ## @result{} |
8442
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
8143
diff
changeset
|
76 ## @{ |
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
8143
diff
changeset
|
77 ## [1,1] = ababab |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
17859
diff
changeset
|
78 ## [2,1] = cd cd cd |
8442
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
8143
diff
changeset
|
79 ## @} |
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
8143
diff
changeset
|
80 ## @end group |
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
8143
diff
changeset
|
81 ## @end example |
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
8143
diff
changeset
|
82 ## |
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
8143
diff
changeset
|
83 ## @seealso{cstrcat, char, strvcat} |
3361 | 84 ## @end deftypefn |
2697 | 85 |
6138 | 86 function st = strcat (varargin) |
920 | 87 |
17385
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
88 if (nargin == 0) |
20166
196871335aa8
Allow call with empty argument list in strcat related functions (bug #44981)
Carnë Draug <carandraug@octave.org>
parents:
19697
diff
changeset
|
89 st = ""; |
196871335aa8
Allow call with empty argument list in strcat related functions (bug #44981)
Carnë Draug <carandraug@octave.org>
parents:
19697
diff
changeset
|
90 elseif (nargin == 1) |
22496
d7931cb69486
strcat: trim trailing whitespace when called with one character array (bug #49094)
Mike Miller <mtmiller@octave.org>
parents:
22323
diff
changeset
|
91 if (iscellstr (varargin{1})) |
d7931cb69486
strcat: trim trailing whitespace when called with one character array (bug #49094)
Mike Miller <mtmiller@octave.org>
parents:
22323
diff
changeset
|
92 st = varargin{1}; |
d7931cb69486
strcat: trim trailing whitespace when called with one character array (bug #49094)
Mike Miller <mtmiller@octave.org>
parents:
22323
diff
changeset
|
93 elseif (isreal (varargin{1}) || ischar (varargin{1})) |
d7931cb69486
strcat: trim trailing whitespace when called with one character array (bug #49094)
Mike Miller <mtmiller@octave.org>
parents:
22323
diff
changeset
|
94 st = char (cellstr (varargin{1})); |
d7931cb69486
strcat: trim trailing whitespace when called with one character array (bug #49094)
Mike Miller <mtmiller@octave.org>
parents:
22323
diff
changeset
|
95 else |
d7931cb69486
strcat: trim trailing whitespace when called with one character array (bug #49094)
Mike Miller <mtmiller@octave.org>
parents:
22323
diff
changeset
|
96 error ("strcat: inputs must be strings or cells of strings"); |
d7931cb69486
strcat: trim trailing whitespace when called with one character array (bug #49094)
Mike Miller <mtmiller@octave.org>
parents:
22323
diff
changeset
|
97 endif |
17385
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
98 else |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
99 ## Convert to cells of strings |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
100 uo = "uniformoutput"; |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
101 reals = cellfun ("isreal", varargin); |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
102 if (any (reals)) |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
103 varargin(reals) = cellfun ("char", varargin(reals), uo, false); |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
104 endif |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
105 chars = cellfun ("isclass", varargin, "char"); |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
106 allchar = all (chars); |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
107 varargin(chars) = cellfun ("cellstr", varargin(chars), uo, false); |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
108 if (! all (cellfun ("isclass", varargin, "cell"))) |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
109 error ("strcat: inputs must be strings or cells of strings"); |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
110 endif |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7504
diff
changeset
|
111 |
17385
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
112 ## We don't actually need to bring all cells to common size, because |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
113 ## cellfun can now expand scalar cells. |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
114 err = common_size (varargin{:}); |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
115 |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
116 if (err) |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
117 error ("strcat: arguments must be the same size, or be scalars"); |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
118 endif |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7504
diff
changeset
|
119 |
17385
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
120 ## Cellfun handles everything for us. |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
121 st = cellfun ("horzcat", varargin{:}, uo, false); |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
122 |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
123 if (allchar) |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
124 ## If all inputs were strings, return strings. |
5ca5aff90ffd
strcat.m: Clarify in docstring that space isn't stripped from cell string inputs.
Rik <rik@octave.org>
parents:
17338
diff
changeset
|
125 st = char (st); |
7504
ddcf233d765b
detect cellstr args in strcat
John W. Eaton <jwe@octave.org>
parents:
7411
diff
changeset
|
126 endif |
920 | 127 endif |
128 | |
7504
ddcf233d765b
detect cellstr args in strcat
John W. Eaton <jwe@octave.org>
parents:
7411
diff
changeset
|
129 endfunction |
920 | 130 |
17338
1c89599167a6
maint: End m-files with 1 blank line.
Rik <rik@octave.org>
parents:
17281
diff
changeset
|
131 |
6138 | 132 ## test the dimensionality |
133 ## 1d | |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
134 %!assert (strcat ("ab ", "ab "), "abab") |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
135 %!assert (strcat ({"ab "}, "ab "), {"ab ab"}) |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
136 %!assert (strcat ("ab ", {"ab "}), {"abab "}) |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
137 %!assert (strcat ({"ab "}, {"ab "}), {"ab ab "}) |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
138 %!assert (strcat ("", "ab"), "ab") |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
139 %!assert (strcat ("", {"ab"}, {""}), {"ab"}) |
6138 | 140 ## 2d |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
141 %!assert (strcat (["ab ";"cde"], ["ab ";"cde"]), ["abab ";"cdecde"]) |
7411 | 142 |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7504
diff
changeset
|
143 ## test for deblanking implied trailing spaces of character input |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
144 %!assert (strcat ("foo", "bar"), "foobar") |
24461
0a034d34a686
Modify BIST tests to pass when string_fill_char is not ' '.
Rik <rik@octave.org>
parents:
23573
diff
changeset
|
145 %!assert (strcat (["a "; "bb"], ["foo"; "bar"]), ["afoo "; "bbbar"]) |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7504
diff
changeset
|
146 |
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7504
diff
changeset
|
147 ## test for mixing character and cell inputs |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
148 %!assert (strcat ("a", {"bc", "de"}, "f"), {"abcf", "adef"}) |
7411 | 149 |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7504
diff
changeset
|
150 ## test for scalar strings with vector strings |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
151 %!assert (strcat (["a"; "b"], "c"), ["ac"; "bc"]) |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7504
diff
changeset
|
152 |
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7504
diff
changeset
|
153 ## test with cells with strings of differing lengths |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
154 %!assert (all (strcmp (strcat ({"a", "bb"}, "ccc"), {"accc", "bbccc"}))) |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
155 %!assert (all (strcmp (strcat ("a", {"bb", "ccc"}), {"abb", "accc"}))) |
7411 | 156 |
22496
d7931cb69486
strcat: trim trailing whitespace when called with one character array (bug #49094)
Mike Miller <mtmiller@octave.org>
parents:
22323
diff
changeset
|
157 ## test with a single string or cell input |
23573
1b4f4ec53b4a
use new script to tag fixed bugs in tests
John W. Eaton <jwe@octave.org>
parents:
23572
diff
changeset
|
158 %!assert <*49094> (strcat ("foo "), "foo") |
1b4f4ec53b4a
use new script to tag fixed bugs in tests
John W. Eaton <jwe@octave.org>
parents:
23572
diff
changeset
|
159 %!assert <*49094> (strcat ({"foo"}), {"foo"}) |
22496
d7931cb69486
strcat: trim trailing whitespace when called with one character array (bug #49094)
Mike Miller <mtmiller@octave.org>
parents:
22323
diff
changeset
|
160 |
d7931cb69486
strcat: trim trailing whitespace when called with one character array (bug #49094)
Mike Miller <mtmiller@octave.org>
parents:
22323
diff
changeset
|
161 %!assert (strcat (1), char (1)) |
14868
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14821
diff
changeset
|
162 %!assert (strcat (1, 2), strcat (char (1), char (2))) |
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14821
diff
changeset
|
163 %!assert (strcat ("", 2), strcat ([], char (2))) |
7411 | 164 |
20166
196871335aa8
Allow call with empty argument list in strcat related functions (bug #44981)
Carnë Draug <carandraug@octave.org>
parents:
19697
diff
changeset
|
165 %!assert (strcat (), "") |