customiterators is a collection of custom iterators for cangjie.
- PeekIterator - Peek iterator implementation
- ReverseArrayIterator - Reverse iterator implementation for Array
- ReverseArrayListIterator - Reverse iterator implementation for ArrayList
- peek
- reverse
let str = "abc"
let peekIt = PeekIterator(str.runes())
@Expect(peekIt.peek(), r'a')
@Expect(peekIt.next(), r'a')
@Expect(peekIt.peek(), r'b')
@Expect(peekIt.next(), r'b')
let str = "abc"
let peekIt = str.runes() |> peek
@Expect(peekIt.peek(), r'a')
@Expect(peekIt.next(), r'a')
@Expect(peekIt.peek(), r'b')
@Expect(peekIt.next(), r'b')
let arr = [r'a', r'b', r'c']
let it = ReverseArrayIterator(arr)
@Expect(it.next(), r'c')
@Expect(it.next(), r'b')
@Expect(it.next(), r'a')
@Expect(it.next().isNone())
let arr = [r'a', r'b', r'c']
for ((index, rune) in arr |> reverse |> enumerate) {
match (index) {
case 0 => @Expect(rune, r'c')
case 1 => @Expect(rune, r'b')
case 2 => @Expect(rune, r'a')
case _ => @Expect(false)
}
}
MIT No Attribution