🍃
[Elm] Dictのkeyにカスタム型を使いたかったらpzp1997/assoc-listのDictを使おう
ElmのcoreライブラリのDictはsingletonやfromListの型を見てわかる通り、comparableなkeyでしか作れない
カスタム型はElmの機能上comparableにできないのでDictにしたいとき困る
type Id = Id String
例えばこういうId型をkeyにしたいとき
解決策としては使う時に剥がしてStringにするという手もあるが、せっかく区別のためにId型を作っているのにめんどくさい
こういうときにassoc-listが使えます
fromList : List ( k, v ) -> Dict k v
の型の通りcomparableに限定されません
便利ですね
中身
中身ListでDictのAPIが生えているだけです
はやさ
ちょっと遅いですが大抵の場合データ構造の遅さよりDOM操作のほうが遅いので問題にならないです
Discussion