evalin

Avalia código no workspace base ou no workspace de quem chamou.

Categoria: Programming > Programming Utilities

Sintaxe

evalin(ws, expression)

Executa expression no workspace indicado por ws.

evalin(ws, expression, catchExpr)

Executa catchExpr no mesmo workspace se expression falhar.

Descrição

Dentro de uma função, as variáveis de outros workspaces não são visíveis. evalin alcança o workspace base ou o de quem chamou para lê-las ou defini-las. Como esconde o fluxo de dados entre funções, é melhor reservá-la a ferramentas de depuração e código de infraestrutura.

Argumentos de entrada

ws
'base' para o workspace base ou 'caller' para o workspace da função que chamou a atual.
expression
Texto com o código a executar.

Exemplo

Lendo do base e de quem chamou

function inner()
    evalin('caller', 'disp(secret)');
end
function outer()
    secret = 9;
    inner();
end
x = 10;
evalin('base', 'disp(x)')
outer()
Saída
    10
     9

Veja também

eval assignin exist who