···11+defmodule Concat do
22+ def join(a, b, sep \\ "")
33+44+ def join(a, b, _sep) when b == "" do
55+ a
66+ end
77+88+ def join(a, b, sep) do
99+ a <> sep <> b
1010+ end
1111+end
1212+1313+IO.puts(Concat.join("Hello", ""))
1414+IO.puts(Concat.join("Hello", "world", "-"))
1515+IO.puts(is_atom(String))
+23
math.exs
···11+defmodule Math do
22+ def sum(a, b) do
33+ a + b
44+ end
55+66+ defp multi(a, b) do
77+ a * b
88+ end
99+1010+ def zero?(0) do
1111+ true
1212+ end
1313+1414+ def zero?(x) when is_integer(x) do
1515+ false
1616+ end
1717+end
1818+1919+IO.puts(Math.sum(1, 2))
2020+2121+IO.puts(Math.zero?(0))
2222+IO.puts(Math.zero?(1))
2323+IO.puts(Math.zero?(0.0))
+25
module-nesting.exs
···11+import List, only: [duplicate: 2]
22+33+defmodule Foo do
44+ defmodule Bar do
55+ end
66+end
77+88+alias Foo.Bar, as: Bar
99+1010+defmodule Stats do
1111+ alias Math.List, as: List
1212+ # alias Math.List
1313+end
1414+1515+1616+defmodule Math do
1717+ def plus(a, b) do
1818+ alias Math.List
1919+ end
2020+2121+ def some_func do
2222+ import List, only: [duplicate: 2]
2323+ duplicate(:ok, 2)
2424+ end
2525+end