mlock

Trava a função em execução na memória para que clear não a reinicie.

Categoria: Programming > Functions

Sintaxe

mlock

Chamada dentro de um arquivo de função, trava essa função.

Descrição

Variáveis persistentes normalmente desaparecem quando a função é limpa com clear ou clear all. Uma função travada fica na memória, então suas variáveis persistentes sobrevivem até munlock ser chamada ou a sessão terminar. mlock só vale dentro de um arquivo de função; chame uma vez, em geral no início.

Use para estado que precisa durar além de um clear, como um contador de chamadas ou um cache.

Exemplo

Estado que sobrevive ao clear

writelines(["function r = counter()", "  mlock;", "  persistent n", "  if isempty(n), n = 0; end", "  n = n + 1; r = n;", "end"], 'counter.m');
counter;
counter;
clear counter
counter
Saída
ans = 3

Observações

No MatLivre, mlock registra a trava, então mislocked informa true, mas clear nunca zera as variáveis persistentes de nenhuma função, travada ou não.

Veja também

munlock mislocked clear