Elixir

Hexにライブラリを登録してみた

Elixirの勉強の一環としてHexにライブラリを登録してみた。 banner | Hex github.com Ubuntuのsysvbannerをポートした小さいライブラリ。 iex(2)> IO.puts Banner.banner("hello") # # ###### # # #### # # # # # # # ###### ##### # # # # # # # # # # # # …

階乗

#!/usr/bin/env elixir defmodule Foo do def fact(n) do fact(n, 1) end defp fact(0, acc) do acc end defp fact(n, acc) do fact(n - 1, acc * n) end end IO.puts Foo.fact(65535) real 0m13.120s user 0m12.577s sys 0m0.201s

クイックソート

#!/usr/bin/env elixir defmodule QuickSort do def quick_sort([]) do [] end def quick_sort([pivot|rest]) do {smaller, larger} = partition(pivot, rest, [], []) quick_sort(smaller) ++ [pivot] ++ quick_sort(larger) end defp partition(_, [], sma…