deck = ["Ace", "Two", "Three"]
Cards.shuffle(deck)
where in Cards module I have
def shuffle(deck) do
Enum.shuffle(deck)
end
but returns nil.
Why?
deck = ["Ace", "Two", "Three"]
Cards.shuffle(deck)
where in Cards module I have
def shuffle(deck) do
Enum.shuffle(deck)
end
but returns nil.
Why?
Works for me. What have you tried to debug it?
Have you tried an IO.inspect(deck) in your Cards.shuffle function to make sure deck is getting passed intact? Have you tried Enum.shuffle([“Ace”, “Two”, “Three”])?
Worked for me,
iex(5)> defmodule Card do
...(5)> def shuffle(deck) do
...(5)> Enum.shuffle(deck)
...(5)> end
...(5)> end
{:module, Card,
<<70, 79, 82, 49, 0, 0, 4, 104, 66, 69, 65, 77, 65, 116, 85, 56, 0, 0, 0, 138,
0, 0, 0, 14, 11, 69, 108, 105, 120, 105, 114, 46, 67, 97, 114, 100, 8, 95,
95, 105, 110, 102, 111, 95, 95, 7, 99, ...>>, {:shuffle, 1}}
iex(6)> Ca
Calendar Card CaseClauseError
iex(6)> Card.shuffle(["Two", "Three", "-Ace"])
["Three", "Two", "-Ace"]
iex(7)> deck = ["Two", "Three", "-Ace"]
["Two", "Three", "-Ace"]
iex(8)> Card.shuffle(deck)
["Two", "Three", "-Ace"]
iex(9)> Card.shuffle(deck)
["Three", "Two", "-Ace"]
iex(10)> Card.shuffle(deck)
["Two", "-Ace", "Three"]
iex(11)> Card.shuffle(deck)
["Two", "-Ace", "Three"]
iex(12)> Card.shuffle(deck)
["Three", "-Ace", "Two"]
For me, going through the Grider course, I had forgotten to recompile