Erlangで使えるデータ型の種類
Erlangは、並列処理や分散システム向けに設計されたプログラミング言語であり、様々なデータ型をサポートしています。この記事では、Erlangで使える主要なデータ型について詳しく説明します。それぞれのデータ型の特徴や使いどころを解説し、サンプルコードを交えながら具体的な使用例を示します。
概要
Erlangのデータ型は以下のように分類されます。
- 原子(Atoms)
- 整数(Integers)
- 浮動小数点数(Floats)
- タプル(Tuples)
- リスト(Lists)
- 関数(Functions)
- マップ(Maps)
- ビットストリング(Binaries)
それぞれのデータ型について順に解説していきます。
原子(Atoms)
原子は、Erlangの基本的なデータ型の一つであり、定数のように扱われます。原子はシンボルや識別子として使われ、値が変更されることはありません。原子はシングルクオートで囲んだ文字列で表されます。
hello
ok
上記の例では、
と
が原子です。原子はパターンマッチングや識別子として広く利用されます。
整数(Integers)
整数は数値を表すためのデータ型です。Erlangでは、任意の精度の整数をサポートしており、オーバーフローの心配はありません。整数はそのまま値を表現します。
42
-123
上記の例では、
と
が整数です。
浮動小数点数(Floats)
浮動小数点数は、実数を表現するためのデータ型です。Erlangでは倍精度浮動小数点数をサポートしています。
3.14
-0.001
上記の例では、
と
が浮動小数点数です。
タプル(Tuples)
タプルは複数の要素をまとめて1つのデータとして扱うためのデータ型です。タプルは
で要素を囲んで表現します。
{apple, 10}
{person, "Alice", 30}
上記の例では、最初のタプルは原子と整数からなり、2番目のタプルは原子と文字列、整数からなります。
リスト(Lists)
リストは要素の並びを表現するためのデータ型であり、要素の追加や削除が可能です。リストは
で要素を囲んで表現します。
[1, 2, 3, 4]
[apple, orange, banana]
上記の例では、最初のリストは整数からなり、2番目のリストは原子からなります。
関数(Functions)
Erlangでは、関数もデータ型の一種として扱われます。関数は他のデータ型と同様に変数に代入したり、引数として渡したりすることができます。
Add = fun(X, Y) -> X + Y end
上記の例では、
という変数に2つの引数を足し合わせる関数を代入しています。
マップ(Maps)
マップはキーと値のペアを格納するためのデータ型です。Erlang 17.0以降で導入されました。マップは
で表現します。
#{name => "Alice", age => 30}
上記の例では、
と
というキーと対応する値を持つマップを表しています。
ビットストリング(Binaries)
ビットストリングはバイナリデータを表現するためのデータ型です。Erlangではバイナリ操作のためにビットストリングを使用します。
<<16#1234, 16#5678>>
上記の例では、16進数の数値をビットストリングとして表現しています。
まとめ
Erlangでは、様々なデータ型を使ってデータを表現し、プログラムを記述することができます。それぞれのデータ型には特徴や使いどころがあり、適切に活用することで効率的なプログラムを構築することができます。データ型を理解し、適切に使用することで、Erlangプログラムの効率性と保守性を向上させることができます。
よくある質問
- Q. Erlangで使える基本的なデータ型は何ですか?
-
A: Erlangで使える基本的なデータ型には、数値、文字列、アトム、タプル、リスト、関数があります。
-
Q. Erlangの数値のデータ型にはどのようなものがありますか?
-
A: Erlangの数値のデータ型には、整数型と浮動小数点型があります。
-
Q. Erlangで使える文字列のデータ型はどのようなものですか?
-
A: Erlangで使える文字列のデータ型は、バイナリとリストがあります。
-
Q. Erlangのアトムとは何ですか?
-
A: Erlangのアトムは、名前付きの定数であり、値が一度設定されると変更できません。
-
Q. Erlangで使えるタプルとは何ですか?
- A: Erlangで使えるタプルは、異なる型の要素をまとめることができるデータ構造であり、{要素1, 要素2, …}という形式で表現されます。