Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialjordanresendiz
Courses Plus Student 2,356 PointsWhy do I need [:amount] on this code?
I get the answer for the problem, I just don't get why you need to use [:amount] here. Could someone explain?
In the BankAccount class, implement a method called balance. The balance method should loop through transactions and calculate the current account balance.
class BankAccount attr_reader :name
def initialize(name) @name = name @transactions = [] add_transaction("Beginning Balance", 0) end
def debit(description, amount) add_transaction(description, -amount) end
def credit(description, amount) add_transaction(description, amount) end
def add_transaction(description, amount) @transactions.push(description: description, amount: amount) end def balance balance = 0.0 @transactions.each do |transaction| balance += transaction[:amount] end return balance end
end
1 Answer
Sage Elliott
30,003 PointsHello, jordanresendiz! That's a good question.
In this method you're creating a hash to be able to push it to the array. "amount:" is the key for "amount" here.
def add_transaction(description, amount)
@transactions.push(description: description, amount: amount)
end
end
Here it's calling the key(:amount) to access the data stored in the array.
def balance
balance = 0.0
@transactions.each do |transaction|
balance += transaction[:amount]
end
return balance
end
I hope that helps! Further reading about hashes can be found here
jordanresendiz
Courses Plus Student 2,356 Pointsjordanresendiz
Courses Plus Student 2,356 PointsThank you!