How to declare a function as Static if it is defined as an individual file under the class folder?

8 vues (au cours des 30 derniers jours)
In the class definition file we define Static functions as such:
methods(Static)
function SomeFunction()
end
end
However, what if the function is defined as an individual file under the class folder? Can I make some declarations like a .h file in C++ or something like:
methods(Static)
SomeFunction(); %This function is actually defined in the class folder
end

Réponses (1)

Dave B
Dave B le 6 Août 2021
You can do exactly what you're describing. The trick (if there is one) is that you leave the keyword function out in the classdef file. Here's an example
Create a folder @foo
Inside @foo, create a foo.m:
classdef foo
methods (Static)
argout = staticmethod1(argin)
staticmethod2(argin)
end
end
And a staticmethod1.m:
function argout = staticmethod1(argin)
argout = argin^2;
end
And a staticmethod2.m:
function staticmethod2(argin)
disp("argin=" + argin)
end
Test:
>> foo.staticmethod1(3)
ans =
9
>> foo.staticmethod2("asdf")
argin=asdf

Catégories

En savoir plus sur MATLAB Compiler dans Help Center et File Exchange

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by