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 trialvictor manda
Courses Plus Student 2,479 PointsNo exact error just try again
What I'm I misunderstanding here?
class BankAccount
attr_reader :name
def initialize(name)
@name = name
@transactions = []
add_transaction("Beginning Balance", 0)
end
def balance
balance = 0
@transactions.each do |transaction|
balance += transaction[:amount]
end
balance
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 to_s
puts "Name:#{name}, Balance:#{sprintf("%0.2",balance)}"
end
end
1 Answer
Jennifer Nordell
Treehouse TeacherHi there! I'll be honest, I had to try this challenge a few times before I could work out what they wanted. I feel like this could be worded better. They say to display the string, but the bummer message says the correctly formatted string wasn't returned. This was my first clue. It wants the string returned.
Secondly, the challenge says the sprintf
is not needed. To be clear, this will not pass if you use the sprintf
method. So I took that out as well. But I still wasn't getting the right result. So I looked back up at the format they gave and noticed something: after each colon there is a space. But there was no space in yours. Yours would have printed out something like "Name:Jennifer" instead of "Name: Jennifer". Note the extra space in the second version.
Here was my result that passed:
def to_s
return "Name: #{name}, Balance: #{balance}"
end
Hope this helps!
Hint going forward: the challenges don't always include a hint but pay special attention if it says something wasn't returned. It's probably looking for a return statement somewhere.
Also note that this wording choice given in the challenge has been reported to support as I feel it is rather misleading.