swift生成器上的链样式表达式错误

swift生成器上的链样式表达式错误,swift,generator,Swift,Generator,swift回复: zip([1,2,3],[7,8,9]).generate().next() repl.swift:1:22: error: value of type 'Zip2Generator<IndexingGenerator<Array<Int>>, IndexingGenerator<Array<Int>>>' has no member 'next' 为什么?函数next()会改变调用它的对象,因此必须将该对象分配给

swift回复:

zip([1,2,3],[7,8,9]).generate().next() 
repl.swift:1:22: error: value of type 'Zip2Generator<IndexingGenerator<Array<Int>>, IndexingGenerator<Array<Int>>>' has no member 'next'
为什么?

函数
next()
会改变调用它的对象,因此必须将该对象分配给
var
,它才能工作
zip([1,2,3],[7,8,9]).generate()
是不可变的,直到您将其分配给
var

为什么
next()
会改变对象?因为有一个内部索引变量跟踪下一个要显示的值
next()
使用该内部索引,然后将其前进(对其进行变异)以指向下一项

var gen = zip([1,2,3],[7,8,9]).generate()
gen.next()