Convert folder of functions - > Class folder

18 ビュー (過去 30 日間)
Kevin Phung
Kevin Phung 2019 年 2 月 7 日
編集済み: Kevin Phung 2019 年 2 月 7 日
I have a folder full of functions and I would like to turn it into a class folder.
example: my folder of function has
func1.m
func2.m
func3.m
Currently I have dumped all the function signatures into a class method.
classdef myclassname<handle
% properties blah blah
% constructor here etc etc
methods (Static)
func1()
func2()
func3()
end
end
end
These functions call out other functions and I would have to create dot notation each time, ex:
function func1()
myclassname.func2
myclassname.func3
end
Now, I have more than 50 functions. I dont want to keep looking around to find out where I need to put the class handle and dot wherever a function within myclass folder is being called -- Is there something more efficient that will do all of that for me?
  7 件のコメント
Steven Lord
Steven Lord 2019 年 2 月 7 日
You may be interested in App Designer if you're not already using it.
Kevin Phung
Kevin Phung 2019 年 2 月 7 日
編集済み: Kevin Phung 2019 年 2 月 7 日
@Steven
As aesthetic and convenient App Designer is, it does not support some functionalities that I want-- so I'm doing it programmatically

サインインしてコメントする。

採用された回答

Matt J
Matt J 2019 年 2 月 7 日
編集済み: Matt J 2019 年 2 月 7 日
One solution would be to move all the functions to a private/ sub-folder within the @myclassname folder. Then, assuming you still even need static versions of those functions, you can simply add aliases for them in a Static methods block:
methods (Static)
function varargout=func1(varargin)
[varargout{1:nargout}]=func1(varargin{:}); %calls @myclassname/private/func1
end
function varargout=func2(varargin)
[varargout{1:nargout}]=func2(varargin{:}); %calls @myclassname/private/func2
end
function varargout=func3(varargin)
[varargout{1:nargout}]=func3(varargin{:}); %calls @myclassname/private/func3
end
...
end
  1 件のコメント
Kevin Phung
Kevin Phung 2019 年 2 月 7 日
this works!!
Thank you

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFunction Creation についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by