Page 1 sur 1

arrayIterator

MessagePublié: 30 Jan 2005 à 12:44
par oguruma
Public Class ArrayIterator
' Iterator for a LotusScript array / Variant

a As Variant
ix As Long

Public Sub new(a As Variant)
If Not Isarray(a) Then Error ErrTypeMismatch, "No array"
Me.a = a
ix = 0
End Sub

Private Function size() As Integer
size = Ubound(a) - Lbound(a) + 1
End Function

Public Function hasNext() As Variant
hasNext = ix =< size()
End Function

Public Function next() As Variant
If Not hasNext() _
Then Error ErrIllegalOperation, "No more elements"
If Isobject(a(ix)) Then Set Me.next = a(ix) Else Me.next = a(ix)
ix = ix + 1
End Function

Public Sub remove()
Error ErrIllegalOperation, "Operation not supported"
End Sub
End Class