diff options
Diffstat (limited to 'learn-you-some-erlang/cards.erl')
-rw-r--r-- | learn-you-some-erlang/cards.erl | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/learn-you-some-erlang/cards.erl b/learn-you-some-erlang/cards.erl new file mode 100644 index 0000000..ee8dcd2 --- /dev/null +++ b/learn-you-some-erlang/cards.erl @@ -0,0 +1,16 @@ +-module(cards). +-export([kind/1, main/0]). + +-type suit() :: spades | clubs | hearts | diamonds. +-type value() :: 1..10 | j | q | k. +-type card() :: {suit(), value()}. + +-spec kind(card()) -> face | number. +kind({_, A}) when A >= 1, A =< 10 -> number; +kind(_) -> face. + +main() -> + number = kind({spades, 7}), + face = kind({hearts, k}), + number = kind({rubies, 4}), + face = kind({clubs, q}). |