- 関数(メソッド)をクラスの外に出す(クラスとは無関係の関数にする)
- 静的メソッドを使う
入力引数 'app' は使用されていない可能性がありますが、後の引数は使用されています。~ に置き換えることを検討してください。
6 views (last 30 days)
Show older comments
app designerで補助関数を使用しています。
ヘルプのこのページを見ながら、プライベート関数の枠内に補助関数を定義しているのですが、
▼補助関数によるコードの再利用
▼定義箇所
methods (Access = private)
function ●●Fnc(~,value,引数1,引数2,~)
~~~
end
end
▼呼び出し箇所
●●Fnc(app,value,引数1,引数2,引数3);
「app 引数は必須」と書いてあるのに、関数を定義したappの箇所に、
「入力引数 'app' は使用されていない可能性がありますが、後の引数は使用されています。~ に置き換えることを検討してください。」
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1310610/image.png)
というアラートが出て、修正ボタンを押すと、~に置き換えられます。
また、引数3でも同様に置き換わらされます。
appが不要ということなのかと思って「app」を消すと、関数定義箇所に
「app を '●●Fnc' の最初の引数として使用します。」
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1310615/image.png)
というアラートが出ます。
なんか矛盾しているような気がするのですが、関数の書き方が間違っているからなのでしょうか。
(書き方を修正することでこれが出なくなるのでしょうか。)
一応これでも関数としては機能してるみたいですが。。
原因がわかる方いらっしゃいましたら、ご教示いただけますと幸いです。
0 Comments
Answers (1)
Atsushi Ueno
on 1 Mar 2023
Moved: Atsushi Ueno
on 8 Mar 2023
>「app 引数は必須」と書いてある
>なんか矛盾しているような気がするのですが、関数の書き方が間違っているからなのでしょうか。
お気持ちは分かりますが、関数の書き方は正しいです。
チルダ(~)に変わった引数3は削除出来ますが、引数1(app 引数)は必須なのでチルダ(~)のまま残す必要があります。
どちらもそのまま残しても何ら問題は無く、下記の方法に頼る必要はありません。
関数(メソッド)に引数1(オブジェクト)を渡さなくても良い方法として下記が考えられます
See Also
Categories
Find more on MATLAB でのオブジェクト指向デザイン in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!