#author("2019-11-14T16:40:27+00:00","default:sagasite","sagasite")
[[Program]] > [[JavaScript]] > [[AltJS]] > [[Elm]] > [[Elmガイド>Elm_guide]] > [[型>Elm_guide_Types]] > 型の別名
#norelated
#contents
//----------------------------------------
*型の別名 [#xb214192]
-型の別名 · An Introduction to Elm https://guide.elm-lang.jp/types/type_aliases.html
>Elmでは 型の別名(タイプエイリアス) を作ることができます。
別名は単に他の型の短い名前です。 このように定義できます:
#code(haskell){{
type alias User =
{ name : String
, bio : String
}
}}
Elmでは、「type alias」というキーワードを使うと、「型の別名」という仕組みが使えるようになっているんですね。
上記の例では「User型」という型を作ることができます。
**型の別名の命名則 [#f1486bce]
型の別名のスペルについてですが、英字の大文字で始めるとか、制約があるのでしょうか?
それとも単なる慣習でしかなく、型の別名には英数字や小文字も使えるのでしょうか?
Google検索で調べてみましょう。
~
-Elm 型の別名 大文字 - Google 検索 https://www.google.com/search?q=Elm+%E5%9E%8B%E3%81%AE%E5%88%A5%E5%90%8D+%E5%A4%A7%E6%96%87%E5%AD%97
-新しい型を定義する · プログラミング言語Elmの薄い本 https://giisyu.gitbooks.io/elm_usui_book/content/src/syntax/type/teigi.html
>型名とデータ構築子は大文字から始まる必要があります。
検索したら、上記の説明ページが見つかり、それによるとElmの型名は大文字で始める、とのこと。
小文字にした場合、Elmコンパイラーがエラーを警告するのか?確認してみる必要がありますね。
*レコードコンストラクター [#zb8cdb87]
Elmのコンストラクターについて検索してみると、「コンストラクター」には「データ構築子」という日本語訳が与えられていました。
-新しい型を定義する · プログラミング言語Elmの薄い本 https://giisyu.gitbooks.io/elm_usui_book/content/src/syntax/type/teigi.html
>データ構築子(コンストラクタ)
typeで新しい型を定義するときは、必ず他と被らない新しいデータ構築子も定義される必要があります。
データ構築子を使うことで、定義した新しい型の値(インスタンス)を生成することが出来ます。
**コンストラクター使用の注意点 [#wc395e5b]
新しい型の値(インスタンス)を生成するときに、値の検査(バリデート)が必要な場合の対処例が紹介されていました。
-Elmで読み取りのみ可能なレコードを作りたい - Qiita https://qiita.com/pxfnc/items/f991fa6e2045ccc89b03