Elixirの基本構文
Elixirの基本構文
Section titled “Elixirの基本構文”Elixirの基本的な構文を以下に示します。
Elixirには、以下のような基本的なデータ型があります。これらのデータ型は、プログラム内でさまざまなデータを表現するために使用されます。
- 整数:
1
,42
- 整数は、数値を表すために使用されます。 - 浮動小数点数:
3.14
,-0.5
- 浮動小数点数は、小数点を含む数値を表すために使用されます。 - 文字列:
"Hello, Elixir!"
- 文字列は、テキストデータを表すために使用されます。 - アトム:
:ok
,:error
- アトムは、名前付き定数を表すために使用されます。 - リスト:
[1, 2, 3]
- リストは、順序付きのコレクションを表すために使用されます。 - タプル:
{:ok, "Success"}
- タプルは、固定長のコレクションを表すために使用されます。
以下に、各データ型の使用例を示します。
# 整数の使用例number = 42IO.puts("Number: #{number}")
# 文字列の使用例message = "Hello, Elixir!"IO.puts(message)
# アトムの使用例status = :okIO.puts("Status: #{status}")
これらのデータ型を使用することで、Elixirプログラム内でさまざまなデータを効果的に管理できます。
Elixirでは、関数はファーストクラスの市民であり、変数に代入したり、他の関数に渡したりすることができます。
defmodule Math do def add(a, b) do a + b endend
IO.puts(Math.add(1, 2))
Elixirでは、モジュールを使用して、関連する関数をグループ化します。
defmodule Greeter do def hello(name) do "Hello, #{name}!" endend
IO.puts(Greeter.hello("World"))
パターンマッチング
Section titled “パターンマッチング”Elixirの強力な機能の一つにパターンマッチングがあります。これにより、データの構造を簡単に分解できます。
{status, result} = {:ok, 42}IO.puts(result) # 42
高度なパターンマッチング
Section titled “高度なパターンマッチング”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)