view test/bug-52851/script1.m @ 31211:8340137bb190

maint: Merge stable to default.
author Markus Mützel <markus.muetzel@gmx.de>
date Mon, 29 Aug 2022 13:58:00 +0200
parents d45d1b4bb919
children
line wrap: on
line source

1; %script identifier

function r = caller (fun, num)
  persistent funarray
  if (isempty (fun))
    r = funarray(num).fun ();
  else
    if (isempty (funarray))
      funarray(1).fun = fun;
    else
      funarray(num).fun = fun;
    endif
  endif
endfunction

function r = computation ()
  r = 1;
endfunction

caller (@computation, 1);

r11 = caller ([], 1);

function r = computation ()
  r = 2;
endfunction

caller (@computation, 2);

r21 = caller ([], 1);
r22 = caller ([], 2);