【发布时间】:2013-07-22 10:23:19
【问题描述】:
用于 GUI 的 m 文件内或用于 Level-2 S-Function 的 m 文件内的函数是在没有 end 关键字的情况下编写的。
这是否意味着所有函数都相互嵌套,因此,下面函数的所有变量都可以被上面的函数访问?
或者这个语法只是一组简单的函数,省略了end-s?
Matlab 如何区分语法?
【问题讨论】:
用于 GUI 的 m 文件内或用于 Level-2 S-Function 的 m 文件内的函数是在没有 end 关键字的情况下编写的。
这是否意味着所有函数都相互嵌套,因此,下面函数的所有变量都可以被上面的函数访问?
或者这个语法只是一组简单的函数,省略了end-s?
Matlab 如何区分语法?
【问题讨论】:
根据documentation上的函数:
你可以在同一个文件中声明多个局部函数,或者嵌套 职能。如果文件中的任何函数包含嵌套函数,则所有 文件中的函数必须使用
end关键字来表示结束 功能。否则,end关键字是可选的。
我相信这同样适用于 GUI 和 S-Function。我发现嵌套函数对 GUI 特别有用,因为嵌套函数可以访问其父函数的数据(工作区),而无需将变量作为参数传递。
【讨论】: