view test/classes/@Snork/subsasgn.m @ 17307:4448cc742880

Use '!' not operator rather than '~' in core m-files. * scripts/general/interp1.m, scripts/image/rgb2ind.m, scripts/plot/findobj.m, scripts/polynomial/polyfit.m, test/build-sparse-tests.sh, test/classes/@Snork/end.m, test/classes/@Snork/mpower.m, test/classes/@Snork/ne.m, test/classes/@Snork/power.m, test/classes/@Snork/subsasgn.m, test/classes/@Snork/subsref.m, test/classes/@Spork/loadobj.m, test/classes/classes.tst: Use '!' not operator rather than '~' in core m-files.
author Rik <rik@octave.org>
date Wed, 21 Aug 2013 17:04:44 -0700
parents b1283d4c06c2
children
line wrap: on
line source

function snk = subsasgn (snk, s, val)

  if (length (s) < 1)
    error ('Snork: needs index');
  end
  switch (s(1).type)
    case '()'
      ind = s(1).subs;
      if (numel (ind) != 1)
        error ('Snork: need exactly one index');
      else
        if (length (s) == 1)
          snk.cack(ind{1}) = val;
        else
          error ('Snork: chained subscripts not allowed for {}');
        end
      end
    case '{}'
      ind = s(1).subs;
      if (numel (ind) != 1)
        error ('Snork: need exactly one index');
      else
        if (length (s) == 1)
          snk.cack(ind{1}) = val;
        else
          error ('Snork: chained subscripts not allowed for {}');
        end
      end
    case '.'
      fld = s(1).subs;
      if (strcmp (fld, 'gick'))
        snk.gick = val;
      else
        error ('Snork/subsasgn: invalid property \"%s\"', fld);
      end
    otherwise
      error ('invalid subscript type');
  end

end