Mercurial > hg > ishara
diff general/eval_fields.m @ 44:3cedfd4549ef
Code added since initial check in.
author | samer |
---|---|
date | Tue, 13 Jan 2015 14:03:17 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/general/eval_fields.m Tue Jan 13 14:03:17 2015 +0000 @@ -0,0 +1,14 @@ +% eval_fields - Apply function to all member fields of structure +% +% eval_fields :: +% struct(fields(N,A{:}->B)), +% A{:}, +% -> struct(fields(N,B)). +% +% fields(N,A) denotes a list of struct field type declarates with +% names from list N and types all equal to A, eg +% fields({'a','b','c'},real) == {a::real, b::real, c::real}. + +function x=eval_fields(y,varargin) + args=varargin; + x=map_fields(@(f)feval(f,args{:}),y);