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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2303
diff changeset
7 ##
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2303
diff changeset
8 ## This file is part of Octave.
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2303
diff changeset
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
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2303
diff changeset
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
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2303
diff changeset
14 ##
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2303
diff changeset
15 ## Octave is distributed in the hope that it will be useful, but
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2303
diff changeset
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
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2303
diff changeset
19 ##
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2303
diff changeset
20 ## You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6145
diff changeset
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
1677bb6533fb [project @ 1994-11-14 16:37:05 by jwe]
jwe
parents:
diff changeset
25
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3180
diff changeset
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
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3361
diff changeset
39 ##
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3180
diff changeset
40 ## @example
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3180
diff changeset
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
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3180
diff changeset
63 ## s = [ "ab"; "cde" ];
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3180
diff changeset
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
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3180
diff changeset
67 ## "cdecdecde"
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3180
diff changeset
68 ## @end group
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3180
diff changeset
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
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3180
diff changeset
84 ## @end deftypefn
2697
6243c37ae2c5 [project @ 1997-02-18 17:51:21 by jwe]
jwe
parents: 2314
diff changeset
85
6138
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6046
diff changeset
86 function st = strcat (varargin)
920
1677bb6533fb [project @ 1994-11-14 16:37:05 by jwe]
jwe
parents:
diff changeset
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
1677bb6533fb [project @ 1994-11-14 16:37:05 by jwe]
jwe
parents:
diff changeset
127 endif
1677bb6533fb [project @ 1994-11-14 16:37:05 by jwe]
jwe
parents:
diff changeset
128
7504
ddcf233d765b detect cellstr args in strcat
John W. Eaton <jwe@octave.org>
parents: 7411
diff changeset
129 endfunction
920
1677bb6533fb [project @ 1994-11-14 16:37:05 by jwe]
jwe
parents:
diff changeset
130
17338
1c89599167a6 maint: End m-files with 1 blank line.
Rik <rik@octave.org>
parents: 17281
diff changeset
131
6138
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6046
diff changeset
132 ## test the dimensionality
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6046
diff changeset
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
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6046
diff changeset
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
83a8781b529d [project @ 2008-01-22 21:52:25 by jwe]
jwe
parents: 7017
diff changeset
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
83a8781b529d [project @ 2008-01-22 21:52:25 by jwe]
jwe
parents: 7017
diff changeset
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
83a8781b529d [project @ 2008-01-22 21:52:25 by jwe]
jwe
parents: 7017
diff changeset
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
83a8781b529d [project @ 2008-01-22 21:52:25 by jwe]
jwe
parents: 7017
diff changeset
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 (), "")