X-Git-Url: http://nitlanguage.org diff --git a/examples/circular_list.nit b/examples/circular_list.nit index c3ba1ed..41d2e05 100644 --- a/examples/circular_list.nit +++ b/examples/circular_list.nit @@ -12,9 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Implementation of circular lists +# Example of an implementation of circular lists # This example shows the usage of generics and somewhat a specialisation of collections. -module circular_list +module circular_list is example # Sequences of elements implemented with a double-linked circular list class CircularList[E] @@ -120,11 +120,11 @@ end private class CircularListIterator[E] super IndexedIterator[E] - redef var index: Int + redef var index: Int = 0 # The current node pointed. # Is null if the list is empty. - var node: nullable CLNode[E] + var node: nullable CLNode[E] is noinit # The list iterated. var list: CircularList[E] @@ -144,11 +144,9 @@ private class CircularListIterator[E] redef fun item do return self.node.item - init(list: CircularList[E]) + init do self.node = list.node - self.list = list - self.index = 0 end end