GUI の m ファイル内またはレベル 2 S-Function の m ファイル内の関数は、end
キーワードなしで記述されます。
これは、すべての関数が互いに入れ子になっていることを意味し、その結果、下の関数のすべての変数が上の関数からアクセスできるということですか?
それとも、この構文はend
-s を省略した単純な関数のセットですか?
Matlab は構文をどのように区別しますか?
GUI の m ファイル内またはレベル 2 S-Function の m ファイル内の関数は、end
キーワードなしで記述されます。
これは、すべての関数が互いに入れ子になっていることを意味し、その結果、下の関数のすべての変数が上の関数からアクセスできるということですか?
それとも、この構文はend
-s を省略した単純な関数のセットですか?
Matlab は構文をどのように区別しますか?
関数に関するドキュメントによると:
同じファイル内で複数のローカル関数を宣言したり、関数をネストしたりできます。ファイル内の関数にネストされた関数が含まれている場合、ファイル内のすべての関数は
end
キーワードを使用して関数の終わりを示す必要があります。それ以外の場合、end
キーワードはオプションです。
同じことが GUI と S-Function にも当てはまると思います。ネストされた関数は変数を引数として渡さなくても、その親関数のデータ (ワークスペース) にアクセスできるため、ネストされた関数は GUI に特に便利です。