[Index for tmp_for_tar/struct]
[Return to Master Index]
untar
(tmp_for_tar/struct/untar.m)
Function Synopsis
[...] = untar(s,...)
Help text
[foo,bar,...] = untar (s,"Foo","Bar",...)
returns fields "Foo", "Bar", ... of structure s.
Inexistent fields are returned as [].
See also : tar
Last modified: August 2001
Listing of function file tmp_for_tar/struct/untar.m
## [foo,bar,...] = untar (s,"Foo","Bar",...)
##
## returns fields "Foo", "Bar", ... of structure s.
##
## Inexistent fields are returned as [].
##
## See also : tar
## Author: Etienne Grossmann <etienne@isr.ist.utl.pt>
## Last modified: August 2001
function [...] = untar(s,...)
verbose = 0;
if ! is_struct (s)
error ("untar : s is of type '%s', not struct\n",typeinfo (s));
end
## tmp = toascii(argn(2:nargin,:)) ;
## tmp(find(tmp==toascii("""))) = 0 ;
str = "" ;
nargin-- ;
# Don't untar unnecessarily
if nargout && nargout<nargin, nargin = nargout ; end
while nargin--,
t = va_arg() ;
if struct_contains (s,t),
str = [str,"vr_val(s.",t,");"] ;
else
if verbose, printf ("untar : no '%s' field\n",t); end
str = [str,"vr_val([]);"] ;
end
end
eval(str) ;
# eval(setstr(grep([ones(nargin-1,1)*toascii("vr_val(s."),\
# tmp,\
# ones(nargin-1,1)*toascii(");")]')')) ;
Produced by oct2html on Wed Aug 8 19:47:02 2001
Cross-Directory links are: ON