Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Ruby Ruby Objects and Classes Build a Bank Account Class Adding Transactions

Need help with appending a hash into an array

It might just be because it late, but I am stuck with this part of the question. Ive tried a few of the things that you see in the previous video but none work. Im not sure if I have to add to the code or alter the method i already have.

bank_account.rb
class BankAccount
  attr_reader :name

  def initialize(name)
    @name = name
    @transactions = []
  end
  def add_transaction(description, amount)
    @transaction.push(:description, description, :amount, amount)
  end

end

1 Answer

Seth Kroger
Seth Kroger
56,403 Points

To push a hash, first you need a hash literal, i.e. two curly-braces (also note that the instance variable is transactions, plural).

@transactions.push( {} ) # pushes an empty hash 

Then inside the hash you need two key-value pairs:

@transactions.push( {description: description, amount: amount} )

Or with hashrocket syntax

@transactions.push({:description => description, :amount => amount})

Thanks that sorted it out.