【发布时间】:2013-09-12 20:55:12
【问题描述】:
using Gee;
int main (string[] args) {
ArrayList<string> list = new ArrayList<string>();
list.add ("a");
list.add ("b");
list.add ("c");
foreach (var s in list.filter (s => s > "a")) stdout.printf (@"s\n");
return 0;
}
这不会编译,因为Traversable<G>.filter 不会返回一个带有“iterate()”方法的对象,而是一个Iterator<G>。
有什么方法可以让foreach 在迭代器上工作?
【问题讨论】: