4 ms·
Having a vending machine model where it interacts with the balance and price is a good call. I would also think about renaming either your refund method or you
by BlackjackCF 11y ago
Having a vending machine model where it interacts with the balance and price is a good call.
I would also think about renaming either your refund method or your refund variable. It gets a little confusing.
You should also think about the fact that your refund method's case statement doesn't have a default. That means if someone doesn't put in either "y" or "n", you're screwed. Same situation with menu. You should always code for the unhappy path, meaning that you should think through for when someone decides to screw with your program.
In your menu case statement, I don't understand why you can't just do this:
case input
when 1
name = "Coffee"
price = @items[:coffee]
... #end of case statement
vend(name, price).
That'll DRY up your code at least a little bit.
- deleted 11y ago[deleted]
- grover_hartmann 11y agoSomething like this perhaps? https://gist.github.com/fbdf89c0117c3e1452cf https://gist.github.com/fbdf89c0117c3e1452cf
- grover_hartmann 11y agoOr maybe this? https://gist.github.com/anonymous/41c829f53777c4cdd41c https://gist.github.com/anonymous/41c829f53777c4cdd41c