Powered by AppSignal & Oban Pro
Would you like to see your link here? Contact us

01 関数型言語の概要を学ぶ

01-functional-programming.livemd

01 関数型言語の概要を学ぶ

はじめに

  • 本科目では関数型言語Elixirを学び、IoT開発に応用します。
  • 具体的には、温度・湿度センサーで取得した値をグラフに描画するなどの演習を行います。
  • 他のプログラミング言語にも関数型言語が考え方が導入されています。
  • 本科目で取り扱うElixirを例に関数型言語のエッセンスを身につけることでプログラミングの幅を広げることでしょう。

リストの合計(関数型言語Elixirの例)

[1, 2, 3, 4, 5]
|> Enum.sum()
|> IO.puts()
  • データを関数で変換するプログラミングスタイル
  • |> はパイプ演算子と呼ばれるもので前の計算結果を次の関数の第一引数に入れて実行します。
defmodule DummyEnum do
  def sum(list), do: do_sum(list, 0)

  defp do_sum([], acc), do: acc
  defp do_sum([head | tail], acc), do: do_sum(tail, head + acc)
end


[1, 2, 3, 4, 5]
|> DummyEnum.sum()
|> IO.puts()