Question

I have a hash of hashes representing a deck of cards, I am trying to figure out how I would delete a specific card from the deck. Please let me know any suggestions or methods I should be learning or reading up on to help.

@deck_of_cards = {
  :hearts => {:two => 2, :three => 3, :four => 4, :five => 5, :six => 6, :seven => 7, :eight => 8, :nine => 9, :ten => 10, :jack => 10, 
              :queen => 10, :king => 10, :ace => 11},
  :spades => {:two => 2, :three => 3, :four => 4, :five => 5, :six => 6, :seven => 7, :eight => 8, :nine => 9, :ten => 10, :jack => 10, 
              :queen => 10, :king => 10, :ace => 11},
  :clubs => {:two => 2, :three => 3, :four => 4, :five => 5, :six => 6, :seven => 7, :eight => 8, :nine => 9, :ten => 10, :jack => 10, 
              :queen => 10, :king => 10, :ace => 11},
  :diamonds => {:two => 2, :three => 3, :four => 4, :five => 5, :six => 6, :seven => 7, :eight => 8, :nine => 9, :ten => 10, :jack => 10, 
              :queen => 10, :king => 10, :ace => 11}
}
Was it helpful?

Solution

It's pretty straightforward

def delete a, b
  @deck_of_cards[a].delete(b)
end

delete :hearts, :three

@deck_of_cards # => {:hearts=>{:two=>2, :four=>4, :five=>5, :six=>6, ...
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top