正如我现在从数组作为对象的理解,我必须使用参数对象,因为使用非参数Logtalk对象意味着我必须使用断言,即任何更改/设置重写整个数组。
问题是:
- 如何扩展数组类
- 或者将其实例化为主机类 中的ATTRIBUTE
点1
:- object(a2d, instantiates(array)).
:- end_object.
Reference to unknown object: array
即使它工作,你如何在内部访问它。
卷帘窗
意味着以某种方式修改条款?
在参数对象解决方案中,对象用于封装处理数组表示的谓词,而对象参数用于保存表示数组本身的(复合)项。
参数对象,在本例中是一个原型,可以像任何其他原型一样扩展
:- object(a2d(_Array_), extends(array(_Array_)).
:- end_object.
注意参数对象的标识符是array(_)
(即复合项)。因此,array(_)
和array
是不同对象的标识符。