swift 生成器上的链样式表达式错误
Chain style expression error on 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'
但这行得通:
var gen = zip([1,2,3],[7,8,9]).generate()
gen.next()
为什么?
函数 next()
改变调用它的对象,因此必须将该对象分配给 var
才能工作。 zip([1,2,3],[7,8,9]).generate()
在将其分配给 var
.
之前是不可变的
为什么 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'
但这行得通:
var gen = zip([1,2,3],[7,8,9]).generate()
gen.next()
为什么?
函数 next()
改变调用它的对象,因此必须将该对象分配给 var
才能工作。 zip([1,2,3],[7,8,9]).generate()
在将其分配给 var
.
为什么 next()
改变对象?因为有一个内部索引变量跟踪下一个要显示的值。 next()
使用该内部索引,然后将其推进(对其进行变异)以指向下一项。