エルムでは、コンストラクタが1つしかないユニオンタイプを使用してレコードタイプを定義することがあります。私はその後、レコードフィールドを解凍するためのケースステートメントを1つだけ使用します。単一コンストラクタのユニオンタイプの使用
type Model =
Model { stack: List Int }
update msg model =
case model of
Model { stack } ->
...
これを解凍する方法はありますか?シングルケースのケースは馬鹿げているようです。不要なインデントと冗長表示が発生します。
も:私はいくつかのフィールドを持っているし、プログラムにのみいくつかの場所で使用する傾向があるプログラム(に中央のデータ構造を扱う際に、より明確にするためにtype
代わりのtype alias
を使用して、その余分なよ冗長ではないその多くの問題)。可能であれば、このアプローチをあきらめ、レコードの型名を使用する方が良いでしょうか?
以下のチャドノートでは、型コンストラクタでのモデルのラッピングは特に必要ありません。アプリを書く人よりもライブラリの作家の方が一般的です –