Mercurial > hg > octave-nkf
annotate scripts/strings/cstrcat.m @ 19022:5eca3080c7cd
maint: Merge Stefan's changesets onto default after verification.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 14 Jun 2014 13:24:46 -0700 |
parents | d63878346099 |
children | 4197fc428c7d |
rev | line source |
---|---|
17744
d63878346099
maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents:
14402
diff
changeset
|
1 ## Copyright (C) 1994-2013 John W. Eaton |
2313 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7016 | 7 ## the Free Software Foundation; either version 3 of the License, or (at |
8 ## your option) any later version. | |
2313 | 9 ## |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
920 | 18 |
3361 | 19 ## -*- texinfo -*- |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7504
diff
changeset
|
20 ## @deftypefn {Function File} {} cstrcat (@var{s1}, @var{s2}, @dots{}) |
8442
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7540
diff
changeset
|
21 ## Return a string containing all the arguments concatenated |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10549
diff
changeset
|
22 ## horizontally. Trailing white space is preserved. For example: |
8442
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7540
diff
changeset
|
23 ## |
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7540
diff
changeset
|
24 ## @example |
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7540
diff
changeset
|
25 ## @group |
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7540
diff
changeset
|
26 ## cstrcat ("ab ", "cd") |
14327
4d917a6a858b
doc: Use Octave coding conventions in @example blocks of docstrings.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
27 ## @result{} "ab cd" |
8442
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7540
diff
changeset
|
28 ## @end group |
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7540
diff
changeset
|
29 ## @end example |
3426 | 30 ## |
3361 | 31 ## @example |
32 ## @group | |
33 ## s = [ "ab"; "cde" ]; | |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7504
diff
changeset
|
34 ## cstrcat (s, s, s) |
14402
cbcaf5602469
doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents:
14363
diff
changeset
|
35 ## @result{} "ab ab ab " |
cbcaf5602469
doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents:
14363
diff
changeset
|
36 ## "cdecdecde" |
3361 | 37 ## @end group |
38 ## @end example | |
8442
502e58a0d44f
Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7540
diff
changeset
|
39 ## @seealso{strcat, char, strvcat} |
3361 | 40 ## @end deftypefn |
2697 | 41 |
2314 | 42 ## Author: jwe |
43 | |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7504
diff
changeset
|
44 function st = cstrcat (varargin) |
920 | 45 |
13841
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
46 if (nargin < 1) |
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
47 print_usage (); |
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
48 elseif (! iscellstr (varargin)) |
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
49 error ("cstrcat: expecting arguments to character strings"); |
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
50 endif |
7504
ddcf233d765b
detect cellstr args in strcat
John W. Eaton <jwe@octave.org>
parents:
7411
diff
changeset
|
51 |
13841
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
52 st = [varargin{:}]; |
920 | 53 |
7504
ddcf233d765b
detect cellstr args in strcat
John W. Eaton <jwe@octave.org>
parents:
7411
diff
changeset
|
54 endfunction |
920 | 55 |
7411 | 56 |
13841
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
57 ## Test the dimensionality |
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
58 ## 1d |
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
59 %!assert (cstrcat ("ab ", "ab "), "ab ab ") |
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
60 ## 2d |
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
61 %!assert (cstrcat (["ab ";"cde"], ["ab ";"cde"]), ["ab ab ";"cdecde"]) |
7504
ddcf233d765b
detect cellstr args in strcat
John W. Eaton <jwe@octave.org>
parents:
7411
diff
changeset
|
62 |
13841
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
63 %!assert (cstrcat ("foo", "bar"), "foobar") |
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
64 %!assert (cstrcat (["a"; "bb"], ["foo"; "bar"]), ["a foo"; "bbbar"]) |
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
65 |
0a158dbdb04a
Remove 3 unused warning ids
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
66 %% Test input validation |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
67 %!error cstrcat () |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
68 %!error cstrcat (1, 2) |
7411 | 69 |