Is a dictionary basically just a hash table?
Also bonus: In the Ruby code \"Hash.new {0}\" what is the \"{0}\" at the end for?
A dictionary just maps a key to a value. There are many ways to achieve this; a hash-table is one of them.