Я пытаюсь использовать str2func
для вызова различных методов моего класса в зависимости от определенного значения свойств (в данном случае obj.type
).
Итак, у меня есть
classdef myClass
properties
type %# values are different file extensions (LSM, TIFF, OIF etc...)
end
methods(public)
function process(self)
%# here I would like to do something in the lines of
funHandle = str2func(['@()self.process_' self.type])
funHandle() %# E1
end
end
methods(private)
%# I have a bunch of methods named process_[type]
process_LSM(self)
process_TIF(self)
% etc...
end
end
Однако это не работает. В строке E1 (выше) MATLAB жалуется, что класс self не определен, а Java может не работать? Есть ли, чтобы заставить это работать или мне нужно использовать структуру переключателя в методе process для вызова специфичных для типа методов process_ [type] ?