缺省情况下,值的由索引操作中引用的数目确定多少输出参数MATLAB®用来调用的subsref
。类似地,值的分配在索引分配操作数量决定许多输入参数如何MATLAB的使用到呼叫subsasgn
。
如果你的类设计要求索引操作的回报或分配不同数量的值比索引操作,使用规定的数量numArgumentsFromSubscript
指定所需的数量。numArgumentsFromSubscript
提供控制nargout
对于的subsref
和nargin
对于subsasgn
。
如果你的类使用numArgumentsFromSubscript
, 实行的subsref
和subsasgn
方法来定义退回或索引操作分配的实际值。
前MATLAB释放R2015b,MATLAB产生不同的结果对于一些索引表达式返回或指定一个逗号分隔的列表。用numArgumentsFromSubscript
以支持万博1manbetx代码依赖于以前的版本中的行为。此外,现在你可以重载numArgumentsFromSubscript
代替numel
以取得具体成果不需要重新定义如何numel
作品。
当一个类重载numArgumentsFromSubscript
,MATLAB调用此方法,而不是numel
计算的预期参数个数的subsref
nargout
和subsasgn
nargin
。
如果类不超载numArgumentsFromSubscript
,MATLAB调用numel
计算的值nargout
要么nargin
。
MATLAB电话numArgumentsFromSubscript
有三个输入参数:
功能N = numArgumentsFromSubscript(OBJ,S,indexingContext)...结束
输入参数 | 描述 |
---|---|
|
对象,其 |
|
包含在操作中使用的索引类型和索引的索引结构 |
|
上下文在其中发生转位操作:作为用作函数参数的声明,索引参考索引的参考,和索引分配 |
MATLAB使用返回的值numArgumentsFromSubscript
对索引参考和分配。通过测试的值的索引操作执行,其中确定上下文indexingContext
在你的实现numArgumentsFromSubscript
。例如,测试任何或所有可能的索引上下文。
功能N = numArgumentsFromSubscript(OBJ,〜,indexingContext)开关indexingContext案件matlab.mixin.util.IndexingContext.Statement N =...;对索引参考%nargout用作声明案件matlab.mixin.util.IndexingContext.Expression N =...;对索引参考%nargout用作函数的参数案件matlab.mixin.util.IndexingContext.Assignment N =...;%nargin对索引分配结束结束
欲了解更多信息和示例,请参阅numArgumentsFromSubscript
。
对于MATLAB版本R2015b及更高版本,超载numArgumentsFromSubscript
代替numel
自定义索引为你的类。