【Elixir】ラムダ式の使い方と基本的な書き方

Elixirでのラムダ式の使い方と基本的な書き方

Elixirでは、ラムダ式(無名関数)を使ってコードをすっきりと記述することができます。ラムダ式は関数を変数に代入したり、他の関数に渡したりする際に便利です。この記事では、Elixirでラムダ式を使う基本的な書き方と、実際の使用例について解説します。

概要

  1. ラムダ式とは
  2. 基本的な書き方
  3. ラムダ式の使用例
  4. まとめ

1. ラムダ式とは

ラムダ式(無名関数)は、名前を持たない関数です。Elixirでは、

fn

キーワードを使ってラムダ式を定義します。ラムダ式は他の関数に引数として渡したり、変数に代入したりすることができます。

2. 基本的な書き方


# ラムダ式の基本的な書き方は以下の通りです。
fn
  引数1 -> 処理1
  引数2 -> 処理2
  ...
end

上記のように、

fn

キーワードで始まり、

end

で終わるブロック内に引数と処理を記述します。引数と処理の間は

->

で区切ります。

具体的な例を見てみましょう。


# 引数を2つ受け取り、足し算を行うラムダ式の例
add = fn a, b -> a + b end

この例では、

add

という変数に足し算を行うラムダ式を代入しています。このラムダ式は2つの引数を受け取り、それらを足し合わせた結果を返します。

3. ラムダ式の使用例

3.1. ラムダ式を変数に代入する


# ラムダ式を変数に代入して使用する例
add = fn a, b -> a + b end
result = add.(3, 5)  # => 8

この例では、

add

という変数に足し算を行うラムダ式を代入し、

add.(3, 5)

という形でそのラムダ式を呼び出しています。

3.2. Enumモジュールの関数と組み合わせる


# Enum.map/2とラムダ式を組み合わせた例
list = [1, 2, 3, 4, 5]
squared = Enum.map(list, fn x -> x * x end)  # => [1, 4, 9, 16, 25]

この例では、

Enum.map/2

関数にリストとラムダ式を渡しています。ラムダ式はリストの各要素を受け取り、その要素を2乗して新しいリストを作成します。

4. まとめ

この記事では、Elixirでラムダ式を使う基本的な書き方と、実際の使用例について紹介しました。ラムダ式を使うことで、コードをより簡潔に記述することができます。是非、Elixirの開発においてラムダ式を活用してみてください。

よくある質問

  • Q. ラムダ式とは何ですか?
  • A: ラムダ式は、無名関数を表現するための記法であり、関数を簡潔に表現するために使用されます。
  • Q. Elixirでのラムダ式の書き方は?
  • A: Elixirでは、ラムダ式は
    fn

    キーワードを使って定義されます。例えば、

    fn x -> x * 2 end

    は、引数xを2倍にするラムダ式です。

  • Q. ラムダ式の引数は複数指定できますか?
  • A: はい、ラムダ式では複数の引数を指定することができます。例えば、
    fn x, y -> x + y end

    は、引数xとyの和を返すラムダ式です。

  • Q. ラムダ式はどのように使われますか?
  • A: ラムダ式は主に高階関数やEnumモジュールの関数など、他の関数に渡すために使用されます。例えば、
    Enum.map([1, 2, 3], fn x -> x * 2 end)

    は、リストの各要素を2倍にするラムダ式を

    Enum.map

    関数に渡しています。

  • Q. ラムダ式を使うメリットは何ですか?
  • A: ラムダ式を使うと、簡潔な記法で関数を表現できるため、コードが読みやすくなります。また、高階関数と組み合わせることで、柔軟な処理が可能になります。
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x