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

3 次查看(过去 30 天)
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 个评论
Adam
Adam 2017-2-28
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.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2017-2-28
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Workspace Variables and MAT-Files 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by