How to Access a Variable's Value in a Nested Function?
4 次查看(过去 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
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
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File 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!