read someValue :: someDataType
orは宣言に書かなければならないshow someValue
ので、すべての型に対して行うことはできません。間違い以外に、型をシリアライズ可能にしたくない場合はありますか? Show が Read から分離されているのはなぜですか? 間違い以外に、一部のデータを表示したいだけで読みたくない場合はありますか? そうでない場合、単一のデータ型を持たないのはなぜですか?deriving (Show, Read)
data
Serializable
ちょうど今、Gloss ライブラリのKey
データ型を使用していますが、これはわかりませんShow
。Read
コントロールの構成をファイルに入れてから読みたかったので、プレーヤーがコントロールを変更して独自の構成を持つことができるようにしたかったので残念です。Key、SpecialKey、MouseButton のラッパーを作成する必要がありましたが、これは大したことではありませんが役に立ちません。
data Key' = Char' Char | SpecialKey' SpecialKey | MouseButton' MouseButton
deriving (Eq, Ord, Show, Read)
convertKey x = case x of
Char' c -> Char c
SpecialKey' sk -> SpecialKey sk
MouseButton' mb -> MouseButton mb