Skip to content

Elixirの基本構文

Elixirの基本的な構文を以下に示します。

Elixirには、以下のような基本的なデータ型があります。これらのデータ型は、プログラム内でさまざまなデータを表現するために使用されます。

  • 整数: 1, 42 - 整数は、数値を表すために使用されます。
  • 浮動小数点数: 3.14, -0.5 - 浮動小数点数は、小数点を含む数値を表すために使用されます。
  • 文字列: "Hello, Elixir!" - 文字列は、テキストデータを表すために使用されます。
  • アトム: :ok, :error - アトムは、名前付き定数を表すために使用されます。
  • リスト: [1, 2, 3] - リストは、順序付きのコレクションを表すために使用されます。
  • タプル: {:ok, "Success"} - タプルは、固定長のコレクションを表すために使用されます。

以下に、各データ型の使用例を示します。

# 整数の使用例
number = 42
IO.puts("Number: #{number}")
# 文字列の使用例
message = "Hello, Elixir!"
IO.puts(message)
# アトムの使用例
status = :ok
IO.puts("Status: #{status}")

これらのデータ型を使用することで、Elixirプログラム内でさまざまなデータを効果的に管理できます。

Elixirでは、関数はファーストクラスの市民であり、変数に代入したり、他の関数に渡したりすることができます。

defmodule Math do
def add(a, b) do
a + b
end
end
IO.puts(Math.add(1, 2))

Elixirでは、モジュールを使用して、関連する関数をグループ化します。

defmodule Greeter do
def hello(name) do
"Hello, #{name}!"
end
end
IO.puts(Greeter.hello("World"))

Elixirの強力な機能の一つにパターンマッチングがあります。これにより、データの構造を簡単に分解できます。

{status, result} = {:ok, 42}
IO.puts(result) # 42

Elixirのパターンマッチングは、データの構造を簡単に分解するための強力な機能です。以下に、ガード節を使用した条件付きマッチングの例を示します。

# ガード節を使用したパターンマッチング
case {1, 2, 3} do
{1, x, 3} when x > 0 ->
IO.puts("x is positive")
_ ->
IO.puts("No match")
end
  • when: ガード節を使用して、パターンマッチングに条件を追加します。

この例では、タプルの2番目の要素が正の数である場合にのみマッチします。ガード節を使用することで、より柔軟なパターンマッチングが可能になります。

Elixirは、並行処理を簡単に行うための機能を提供しています。

spawn(fn -> IO.puts("Hello from another process!") end)