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.

Veja também

step setup reset isLocked clone