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