14 lines
375 B
GDScript
14 lines
375 B
GDScript
class_name ZipIterator extends Iterator
|
|
|
|
var iter1: Iterator
|
|
var iter2: Iterator
|
|
|
|
func _init(a: Iterator, b: Iterator) -> void:
|
|
iter1 = a
|
|
iter2 = b
|
|
|
|
func next() -> Option:
|
|
match [iter1.next(), iter2.next()]:
|
|
[var a, var b] when a.is_some() and b.is_some():
|
|
return Option.some(Tuple.new([a.unwrap(), b.unwrap()]))
|
|
_: return Option.none
|