| #eval "abc" | |
| /- some "a" -/ | |
| #eval | |
| let s₁ := "abcde"; | |
| let it₁ := s₁.mkIterator; | |
| let it₂ := it₁.next; | |
| it₁.extract it₂ | |
| /- some "" -/ | |
| #eval | |
| let s₁ := "abcde"; | |
| let it₁ := s₁.mkIterator; | |
| it₁.extract it₁ | |
| /- none -/ | |
| #eval | |
| let s₁ := "abcde"; | |
| let it₁ := s₁.mkIterator; | |
| let it₂ := it₁.next; | |
| it₂.extract it₁ | |
| /- some "abc" -/ | |
| #eval | |
| let s₁ := "abcde"; | |
| let it₁ := s₁.mkIterator; | |
| let it₂ := it₁.next.next.next.prev.next; | |
| it₁.extract it₂ | |
| /- some "bcde" -/ | |
| #eval | |
| let s₁ := "abcde"; | |
| let it₁ := s₁.mkIterator.next; | |
| let it₂ := it₁.next.next.next.next; | |
| it₁.extract it₂ | |
| /- some "abcde" -/ | |
| #eval | |
| let s₁ := "abcde"; | |
| let it₁ := s₁.mkIterator; | |
| let it₂ := it₁.next.next.next.next.next; | |
| it₁.extract it₂ | |
| /- some "ab" -/ | |
| #eval | |
| let s₁ := "abcde"; | |
| let s₂ := "abcde"; | |
| let it₁ := s₁.mkIterator; | |
| let it₂ := s₂.mkIterator.next.next; | |
| it₁.extract it₂ | |
| /- none -/ | |
| #eval | |
| let s₁ := "abcde"; | |
| let s₂ := "abhde"; | |
| let it₁ := s₁.mkIterator; | |
| let it₂ := s₂.mkIterator.next.next; | |
| it₁.extract it₂ | |
| /- none -/ | |
| #eval | |
| let s₁ := "abcde"; | |
| let it₁ := s₁.mkIterator; | |
| let it₂ := it₁.next.setCurr 'a'; | |
| it₁.extract it₂ | |
| /- some "a" -/ | |
| #eval | |
| let s₁ := "abcde"; | |
| let it₁ := s₁.mkIterator; | |
| let it₂ := it₁.next.setCurr 'b'; | |
| it₁.extract it₂ | |
| /- some "a" -/ | |
| #eval | |
| let s₁ := "abcde"; | |
| let it₁ := s₁.mkIterator; | |
| let it₂ := (it₁.next.setCurr 'a').setCurr 'b'; | |
| it₁.extract it₂ |