# HG changeset patch # User jwe # Date 832906159 0 # Node ID 5bc8dd06898d2afe9f3644f08694f5604595f5c7 # Parent e97fba45f0a39eefbdff45f30ea9379500d59620 [project @ 1996-05-24 02:49:19 by jwe] Initial revision diff -r e97fba45f0a3 -r 5bc8dd06898d scripts/strings/str2mat.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/strings/str2mat.m Fri May 24 02:49:19 1996 +0000 @@ -0,0 +1,61 @@ +# Copyright (C) 1996 John W. Eaton +# +# This file is part of Octave. +# +# Octave is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2, or (at your option) any +# later version. +# +# Octave is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with Octave; see the file COPYING. If not, write to the Free +# Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +function m = str2mat (...) + +# usage: m = str2mat (s1, ...) +# +# Forms the matrix M containing the strings S1, ... as its rows. +# Each string is padded with blanks in order to form a valid matrix. + +# Original version by Kurt Hornik . + + if (nargin == 0) + usage ("str2mat (s1, ...)"); + endif + + nc = 0; + + va_start (); + + for k = 1 : nargin + s = va_arg (); + if (isstr (s)) + tmp = columns (s); + else + error ("str2mat: all arguments must be strings"); + endif + + if (tmp > nc) + nc = tmp; + endif + endfor + + m = setstr (ones (nargin, nc) * toascii (" ")); + + va_start (); + + for k = 1 : nargin + s = va_arg (); + tmp = columns (s); + if (tmp > 0) + m (k, 1:tmp) = s; + endif + endfor + +endfunction