This is an assignment from The odin Project to implement a linked list class with Ruby. Functions implementation covers :
- #append(value) adds a new node containing value to the end of the list
- #prepend(value) adds a new node containing value to the start of the list
- #size returns the total number of nodes in the list
- #head returns the first node in the list
- #tail returns the last node in the list
- #at(index) returns the node at the given index
- #pop removes the last element from the list
- #contains?(value) returns true if the passed in value is in the list and otherwise returns false.
- #find(value) returns the index of the node containing value, or nil if not found.
- #to_s represent your LinkedList objects as strings, so you can print them out and preview them in the console. The format should be: ( value ) -> ( value ) -> ( value ) -> nil
- #insert_at(value, index) that inserts a new node with the provided value at the given index.
- #remove_at(index)
To go a bit deeper and ease the coding i tried to implement the class with tests - I did not want to manualy test that it was working.
tlist = new LinkedList(5)
tlist.append(6)
tlist.prepend(3)
tlist.at(2).value # returns 6 - Index starts at 1
Some yard doc also included - Not really useful in this context but... i could so i did it ! 🍻