view test/classes/@Snork/subsasgn.m @ 20158:857a8f018f53

set up octave_link when running with --no-gui option (bug #44116) * main-window.h, main-window.cc (main_window::_start_gui): New member variable. (main_window::main_window): New argument, start_gui. Skip most initialization if start_gui is false. (main_window::confirm_shutdown_octave): Skip interactive confirmation if _start_gui is false. (main_window::connect_uiwidget_links, main_window::construct, main_window::construct_octave_qt_link): Skip most initialization if _start_gui is false. (main_window::handle_octave_ready): Handle non-gui case. * octave-gui.cc (octave_start_gui): Unify gui/non-gui options.
author John W. Eaton <jwe@octave.org>
date Tue, 17 Mar 2015 10:13:58 -0400
parents 4448cc742880
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