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

8 visualizaciones (últimos 30 días)
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

Respuestas (1)

Dave B
Dave B el 6 de Ag. de 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

Categorías

Más información sobre MATLAB Compiler en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by