Mizur v1.0.1 Mizur.Infix
This module offers infix versions of the common functions of the Mizur module.
When used, it accepts the following options:
:only
: same of:only
in importation:except
: same of:except
in importation
Summary
Functions
Infix version of not Mizur.equals/2
Infix version of not Mizur.strict_equals/2
Infix version of Mizur.mult/2
Infix version of Mizur.add/2
Infix version of Mizur.sub/2
Infix version of Mizur.Range.new/2
Infix version of Mizur.div/2
Infix version of Mizur.compare/2 == :lt
Infix version of Mizur.compare/2 == :lt || :eq
Infix (and reverted) version of from/2
Infix version of Mizur.equals/2
Infix version of Mizur.strict_equals/2
Infix version of Mizur.compare/2 == :gt
Infix version of Mizur.compare/2 == :gt || :eq
Helper to build typed_value
Infix version of from/2
Functions
Infix version of not Mizur.equals/2
:
iex> use Mizur.Infix, only: [!=: 2]
...> MizurTest.Distance.cm(100) != MizurTest.Distance.m(2)
true
Infix version of not Mizur.strict_equals/2
:
iex> use Mizur.Infix, only: [!==: 2]
...> MizurTest.Distance.cm(100) !== MizurTest.Distance.m(100)
true
Infix version of Mizur.mult/2
:
iex> use Mizur.Infix, only: [*: 2]
...> a = MizurTest.Distance.cm(12)
...> a * 10
MizurTest.Distance.cm(120)
Infix version of Mizur.add/2
:
iex> use Mizur.Infix, only: [+: 2]
...> a = MizurTest.Distance.cm(12)
...> b = MizurTest.Distance.m(2)
...> a + b
MizurTest.Distance.cm(212)
Infix version of Mizur.sub/2
:
iex> use Mizur.Infix, only: [-: 2]
...> a = MizurTest.Distance.cm(12)
...> b = MizurTest.Distance.m(2)
...> b - a
MizurTest.Distance.m(1.88)
Infix version of Mizur.Range.new/2
.
iex> use Mizur.Infix, only: [..: 2]
...> MizurTest.Distance.cm(1) .. MizurTest.Distance.m(1)
Mizur.Range.new(MizurTest.Distance.cm(1), MizurTest.Distance.cm(100))
Infix version of Mizur.div/2
:
iex> use Mizur.Infix, only: [/: 2]
...> a = MizurTest.Distance.cm(12)
...> a / 2
MizurTest.Distance.cm(6)
Infix version of Mizur.compare/2 == :lt
:
iex> use Mizur.Infix, only: [<: 2]
...> MizurTest.Distance.cm(100) < MizurTest.Distance.m(11)
true
Infix version of Mizur.compare/2 == :lt || :eq
:
iex> use Mizur.Infix, only: [<=: 2]
...> MizurTest.Distance.cm(100) <= MizurTest.Distance.m(1)
true
Infix (and reverted) version of from/2
.
For example:
iex> import Mizur.Infix, only: [<~: 2]
...> MizurTest.Distance.m <~ MizurTest.Distance.cm(100)
{MizurTest.Distance.m, 1.0}
Infix version of Mizur.equals/2
:
iex> use Mizur.Infix, only: [==: 2]
...> MizurTest.Distance.cm(100) == MizurTest.Distance.m(1)
true
Infix version of Mizur.strict_equals/2
:
iex> use Mizur.Infix, only: [===: 2]
...> MizurTest.Distance.cm(100) == MizurTest.Distance.cm(100)
true
Infix version of Mizur.compare/2 == :gt
:
iex> use Mizur.Infix, only: [>: 2]
...> MizurTest.Distance.cm(100) > MizurTest.Distance.m(0.9)
true
Infix version of Mizur.compare/2 == :gt || :eq
:
iex> use Mizur.Infix, only: [>=: 2]
...> MizurTest.Distance.cm(100) >= MizurTest.Distance.m(1)
true
Helper to build typed_value
iex> use Mizur.Infix, only: [in: 2]
...> a = MizurTest.Distance.cm(120)
...> {a in MizurTest.Distance.m, 12 in MizurTest.Distance.km}
{MizurTest.Distance.m(1.2), MizurTest.Distance.km(12)}
Infix version of from/2
.
For example:
iex> import Mizur.Infix, only: [~>: 2]
...> MizurTest.Distance.cm(100) ~> MizurTest.Distance.m
{MizurTest.Distance.m, 1.0}