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