翻訳と辞書
Words near each other
・ 代数曲面
・ 代数構造
・ 代数次元
・ 代数的
・ 代数的K-理論
・ 代数的K-群
・ 代数的K理論
・ 代数的な元
・ 代数的サイクル
・ 代数的サイクルの標準予想
代数的データ型
・ 代数的トポロジー
・ 代数的位相幾何学
・ 代数的内部
・ 代数的双対
・ 代数的双対空間
・ 代数的和
・ 代数的微分方程式
・ 代数的数
・ 代数的数論


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

代数的データ型 : ウィキペディア日本語版
代数的データ型[だいすうてきでーたがた]
代数的データ型()とはプログラミング、特に関数型プログラミング型システムにおいて使われるデータ型である。それぞれの代数的データ型のには、1個以上のコンストラクタがあり、各コンストラクタには0個以上の引数がある。
代数的データ型の値(データ)の感覚的な説明としては、引数で与えられた他のデータ型の値を、コンストラクタで包んだようなもの、である。コンストラクタに引数がある代数データ型は複合型(他のデータ型を組み合わせて形成する型)である。
== 概要 ==
Haskellにおける、葉に整数型の値を持つ(分岐は部分木しか持たない)、二分木の例で説明する。以下のようなdata宣言で、データ型を宣言する。

data Node = Leaf Integer | Branch Node Node
deriving (Show) -- 表示させて確認するために付加してあるもので、必須ではない。

この宣言でNodeという名前の型を宣言している(Haskellでは型名の先頭は大文字でなければならない)。縦棒("|")で区切って、各コンストラクタによる形を並べる。LeafとBranchはコンストラクタ(データコンストラクタ)である。コンストラクタLeafは1個のIntegerを引数として取り、Branchは2個のNodeを引数として取る(再帰データ型の例にもなっている)。Haskellではコンストラクタの名前も、先頭は大文字でなければならない(ここでは避けたが、型とコンストラクタに同じ名前を使っても構わない)。
Haskellインタプリタghciで、この型の値を入力し表示させた例を示す。

*Main> Leaf 1
Leaf 1

*Main> Branch (Branch (Leaf 1) (Leaf 2)) (Branch (Leaf 3) (Leaf 4))
Branch (Branch (Leaf 1) (Leaf 2)) (Branch (Leaf 3) (Leaf 4))
中のデータにアクセスするにはパターンマッチを使う。ここで定義した型の木の深さを返す関数の例で次に示す。

depth tree = case tree of
Leaf _ -> 1
Branch a b -> 1 + max (depth a) (depth b)


抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「代数的データ型」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.