Move pattern matching on structs koan to the later pattern matching module

This commit is contained in:
Felipe Sere
2018-02-02 08:03:12 +00:00
parent 178bb41361
commit 03c6ddc33b
4 changed files with 17 additions and 13 deletions

View File

@@ -101,6 +101,18 @@ defmodule PatternMatching do
assert name == ___
end
defmodule Plane do
defstruct passengers: 0, maker: :boeing
end
def plane?(%Plane{}), do: true
def plane?(_), do: false
koan "...or onto the type of the struct itself" do
assert plane?(%Plane{passengers: 417, maker: :boeing}) == ___
assert plane?(%Animal{}) == ___
end
koan "Structs will even match with a regular map" do
%{name: name} = %Animal{kind: "dog", name: "Max"}
assert name == ___