Mercurial > hg > Papers > 2018 > nozomi-master
comparison paper/type.tex @ 91:54cf3b3153fe
Update
author | atton <atton@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 09 Feb 2017 18:37:26 +0900 |
parents | 2be864ed3a79 |
children | 2bc816f4af27 |
comparison
equal
deleted
inserted
replaced
90:f535393e4043 | 91:54cf3b3153fe |
---|---|
87 よって、構造体に型を付けるなら「何を内部に持っているのか」を覚えているような型でなくてはならない。 | 87 よって、構造体に型を付けるなら「何を内部に持っているのか」を覚えているような型でなくてはならない。 |
88 | 88 |
89 ここでレコード型という型を導入する。 | 89 ここでレコード型という型を導入する。 |
90 レコード型は複数の型を持ちえる型であり、内部に持っている値にはユニークな名前がラベルとして付いている。 | 90 レコード型は複数の型を持ちえる型であり、内部に持っている値にはユニークな名前がラベルとして付いている。 |
91 例えば「Intの変数x とIntの変数yを持つレコード型」は$ \{ x : Int , y : Bool\}$のように記述する。 | 91 例えば「Intの変数x とIntの変数yを持つレコード型」は$ \{ x : Int , y : Bool\}$のように記述する。 |
92 C における構造体ではリストに対応する。 | 92 C における構造体ではリスト~\ref{src:struct}にのソースコードに対応する。 |
93 % TODO C の構造体 | 93 |
94 \lstinputlisting[label=src:struct, caption=C におけるレコード型である構造体の定義] {src/struct.c} | |
94 | 95 |
95 レコード型の値を構成する際には、内部に格納する値を全て与えることで構成できる。 | 96 レコード型の値を構成する際には、内部に格納する値を全て与えることで構成できる。 |
96 % TODO C の構造体の初期化 | 97 C 言語ならばフィールドの値を \verb/{}/ 内部に \verb/,/ 区切りで与えることで構造体を構成できる(リスト~\ref{src:struct-init})。 |
98 \lstinputlisting[label=src:struct-init, caption=C 言語の構造体の初期化] {src/struct-init.c} | |
99 | |
97 レコード型から値を取り出す際にはラベル名を用いた射影を利用する。 | 100 レコード型から値を取り出す際にはラベル名を用いた射影を利用する。 |
98 C 言語では構造体の後に \verb/./ キーワードを付けた後にラベル名を指定する。 | 101 C 言語では構造体の後に \verb/./ キーワードを付けた後にラベル名を指定する。 |
99 | 102 |
100 これで構造体に対する型付けができた。 | 103 これで構造体に対する型付けができた。 |
101 % }}} | 104 % }}} |