我之前問過一個問題,是關於在函數調用中保持一個持久變量,我想知道是否可以對對象做類似的事情。在函數調用中保持一個對象的持久性
例如,如果我有這樣的一段代碼:
function Gui(backofplayingcard,store,card)
v = 1;
w = 1200;
h = 550;
f = figure('visible', 'off','color','white','position',[1 1 w h]);
movegui(f,'center');
set(f,'visible','on','name','matching game');
% create 6 by 6 grid with a picture above a pushbutton for each location
% on the grid
for p = 1:6
for w = 1:6
subplot(6,6,((p - 1) * 6 + w));
imshow(backofplayingcard);
button(v) = uicontrol('Style','pushbutton','value',"some value dependent on p and w",'String','Flip!','Position',...
[[(152 * (w)) + ((w) * 10) + 25] [((7 - p) * 69) - ((p) * 10) + 33] 60 20],...
'Callback',{@flip});
v = v + 1;
end
end
end
會有對我來說,存儲的第一個對象我有手柄稱爲方式。所以 例如:
function flip(hObject,eventdata)
persistent a;
if isempty(a)
handle1 = hObject;
a = 1;
else
check1 = get(handle1,'value');
check2 = get(hObject,'value');
if check1 == check2
disp('hello');
else
disp('goodbye');
end
end
end
這樣MATLAB會記得的第一個對象我打電話。
我花了一些時間玩弄調試器和回聲函數來弄清楚如何在結構中存儲對象的工作,但一旦我得到它,一切工作完美,謝謝。 – Amit
真棒!樂意效勞。 –