In your code you are trying to append toys into the toy array that the user inputs in a loop. You are currently not instantiating an animal object to have @toy instance variable that contains an empty array. To do this you must change the initialise method (note when you instantiate new animal you now only have 3 arguments. 

       class Animal
 	attr_accessor :name, :age, :gender, :species, :toys
 	def initialize(name, age, gender, species)
 		@name = name
 		@age = age.to_i
 		@gender = gender
 		@species = species
 		@toys = []
 	end