release
Libera os recursos de um objeto System e o destrava.
Categoria: Programming > Classes
Sintaxe
release(obj)
Chama o releaseImpl do objeto, se existir, e o destrava para que propriedades e tamanhos de entrada possam mudar de novo.
Descrição
Um objeto System fica travado na primeira chamada a step ou setup. Enquanto travado, propriedades não ajustáveis não podem mudar e os tipos e tamanhos dos dados de entrada ficam fixos. release encerra esse estado: executa o método releaseImpl, em que a classe fecha arquivos ou libera buffers, e destrava o objeto.
O objeto mantém os valores das propriedades. O próximo step chama setupImpl outra vez.
Argumentos de entrada
obj- Um objeto System, instância de uma classe derivada de
matlab.System.
Exemplo
Travando e liberando
writelines([ ...
"classdef Counter < matlab.System", ...
" properties", " Total = 0", " end", ...
" methods (Access = protected)", ...
" function setupImpl(obj)", " obj.Total = 100;", " end", ...
" function y = stepImpl(obj, u)", " obj.Total = obj.Total + u;", " y = obj.Total;", " end", ...
" function releaseImpl(obj)", " disp('released')", " end", ...
" end", "end"], 'Counter.m');
c = Counter;
step(c, 5);
isLocked(c)
release(c)
isLocked(c)
Saída
ans = logical
1
released
ans = logical
0
O exemplo grava antes a pequena classe System Counter na pasta atual.
Observações
release como descrito aqui vale para objetos System.