-
jacques.grelet_ird.fr authored
rename @netcdf directory to @netcdf_native (conflict with C Dunham NetCDF toolbox) Remove FillValue_ attribute for <PARAM>_CALCOEFF_CONV, <PARAM>_LINCOEFF_CONV and SSPS_EXT_BOTTLE
jacques.grelet_ird.fr authoredrename @netcdf directory to @netcdf_native (conflict with C Dunham NetCDF toolbox) Remove FillValue_ attribute for <PARAM>_CALCOEFF_CONV, <PARAM>_LINCOEFF_CONV and SSPS_EXT_BOTTLE
subsasgn.m 1.27 KiB
function self = subsasgn(self, s, val)
% Subscripted assignment for object Hashtable
% -------------------------------------------
% see help for subsasgn
% ---------------------
switch (length(s))
case 3
switch s(3).type
case '.'
h = get(self.dynaload, s(1).subs);
t = get(h, s(2).subs);
t.(s(3).subs) = val;
h = put(h, s(2).subs, t);
self = put(self, s(1).subs, h);
otherwise
error('Invalid type.')
end
case 2
switch s(1).type
case '.'
if isstruct(val)
h = get(self.dynaload, s(1).subs);
h = put(h, s(2).subs, val);
self = put(self, s(1).subs, h);
else
error('value must be a structure');
end
otherwise
error('Invalid type.')
end
case 1
switch s.type
case '()'
if (length(s.subs) ~= 1)
error('Only single indexing is supported.');
end
self = put(self, s.subs{1}, val);
case '.'
switch s.subs
case {'autonan', 'autoscale' }
builtin('subsasgn', self, s, val);
otherwise
self = put(self, s.subs, val);
end
otherwise
error('Invalid type.')
end
end