Importance of Index with TuplesΒΆ
Next step in the Cards
module is to implement a deal method. That deals n
cards from a deck. This can be done by using the Enum.split
method.
def deal(deck, hand_size) do
Enum.split(deck, hand_size)
end
You can see that the output of the method is wrapped with {}
, the first element is the cards dealt and the second list is the cards left.
The {}
represents a data structure called a tuple
. The hand is always at the index of 0
, the rest of the cards are at index 1
.
Essentially, a list
is for a list of similar records
, meanwhile the tuple
is for stuff that can be in different types, but the order has some specific meaning
.