Effacer les filtres
Effacer les filtres

How to Access a Variable's Value in a Nested Function?

3 vues (au cours des 30 derniers jours)
Rightia Rollmann
Rightia Rollmann le 28 Fév 2017
Commenté : Adam le 28 Fév 2017
How Can I see the value of variable g in Command window and Workspace?
function parentfcn(b)
a = b+1
function childfcn
g = a+1
end
end
  1 commentaire
Adam
Adam le 28 Fév 2017
The shared workspace of a nested function and the main function is not bi-directional. The nested function has access to everything in the workspace of the main function, but not the other way around.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 28 Fév 2017
The nested workspace stops existing as soon as parentfcn returns.
See however,
function r = parentfcn(b)
a = b+1
childfcn();
r = @childfcn;
function childfcn
g = a+1
end
end
together with
bbb = parentfcn(7)
s = functions(bbb)
s.workspace{1}
Notice that even though you called childfcn, that the workspace of childfcn does not include the local variable g: the workspace retrieved only includes the objects that the child shares with the parent. g stops existing as soon as childfcn returns.

Plus de réponses (0)

Catégories

En savoir plus sur Workspace Variables and MAT-Files dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by