标签:
基本的Range使用的接口函数有 front, popFront, empty三个函数,只要实现这三个函数,就是一个Range 。使用这三个函数来访问元素时代表着这是一个有序的集合,因此可以称Range为序列集,这是一个队列式的操作。
而C#中的IEnumreable只要求能访问元素,并无有序要求,这与C#中的opApply接口相同。
在D语言中有两种迭代方式,一种是实现 front, popFront ,empty这三个接口,另一种是实现opApply接口,只要实现其中一个就可以使用foreach进行迭代式访问。
注意,仅仅实现opApply接口的对象是可以使用foreach来访问,而他并不是一个Range。
在InputRange中,则更加严格,需要同时实现以上两个接口才是一个InputRange。
标签:
原文地址:http://www.cnblogs.com/wanhongnan/p/5745115.html