From: Jon Egil Strand Date: 2006-11-03T23:12:03+09:00 Subject: Re: Output not clear Greetings In your withdraw-method it's not really fitting to use @bal as a class variable. It's not needed outside the scope of a single withdraw, and as such you don't need to store it's value. Actuall you don't need it at all, you can instead go for: def withdraw(amt) if ((balance - amt) > 500.00) self.balance -= amt puts balance else puts 'No Balance' end end While we're at it, I prefer to separate calculations from output to screen, and instead go for: def withdraw(amt) raise "You're broke" if balance - amt <= 500 self.balance -= amt end combined with: s.withdraw(200.00) puts s.balance This does withdraw in one place and shows balance in another. If you now do multiple withdraws, sooner or later you will raise the "You're broke" run-time error. Which you then have to catch. Unless you've read about ruby's exception handling you're in for a treat. Exception handling is very handy, and as always, Ruby does it in an consistent and intuitive way. Good luck -- Jon Egil Strand Phone: +47 98232340 jes@luretanker.no