# HG changeset patch # User Colin Macdonald # Date 1470815575 25200 # Node ID 6f03249847fab6fc1ab7375ce322aacb1b672604 # Parent 461f333daf673dd43ddc430192dee75761b7695b Support multi-indexing assignment * @pyobject/subsasgn.m: Fix multi-indexing. diff -r 461f333daf67 -r 6f03249847fa @pyobject/subsasgn.m --- a/@pyobject/subsasgn.m Wed Aug 10 00:46:53 2016 -0700 +++ b/@pyobject/subsasgn.m Wed Aug 10 00:52:55 2016 -0700 @@ -65,7 +65,7 @@ if (isscalar (idx.subs)) ind = idx.subs{1}; else - error ("not implemented, waiting on #26, #27") + ind = pycall ("tuple", idx.subs); endif xsi = pycall ("getattr", x, "__setitem__"); # x.__setitem__ @@ -117,3 +117,14 @@ %! assert (d{"5"}, 10) %! assert (d{5.5}, 11) %! assert (d{5}, 12) + +%!test +%! % 2D array indexing +%! A = pyobject ([1.1 2 3; 4 5 6]); +%! A{1, 1} = 10; +%! A{1, 3} = 30; +%! A{2, 1} = 40; +%! assert (A{1, 1}, 10) +%! assert (A{1, 3}, 30) +%! assert (A{2, 1}, 40) +%! assert (A{2, 2}, 5)