假设我有一个带有方法SetProperty的句柄类的1x2对象数组。我可以使用arrayfun为每个类调用SetProperty方法,以及用于设置属性值的向量吗?
答案 0 :(得分:3)
您还可以设计该类,以便对SetProperty
的调用进行矢量化:
class Foo < handle
methods(Access=public)
function SetProperty(this,val)
assert(numel(this)==numel(val));
for i=1:numel(this)
this(i).prop = val(i);
end
end
end
end
然后,您可以创建一个向量并直接调用该方法:
f = repmat(Foo(),[1 2]);
f.SetProperty( [5 3]);
答案 1 :(得分:1)
是的,你可以:
arrayfun(@(x,y)x.SetProperty(y), yourHandleObjects, theValues)