我是haskell的新手,我认为我理解ADT和类型类的概念,但我仍然有点困惑.
我试图创建一个小游戏,然后我开始布局数据结构.
现在我开始了
data Consumable = Food
| Water
| Potion
data Equipment = Weapon
| Shield
Run Code Online (Sandbox Code Playgroud)
双方Consumable并Equipment有关系,都是项目,但我不知道我应该如何在Haskell表达这种.
我想也许我应该创建一个名为Item的类型
Class Item where
use ::
Run Code Online (Sandbox Code Playgroud)
然后制作消耗品和设备两个物品的实例.或者我可以表达它
data Item = OneTimeUseable Consumable
| Equipable Equipment
Run Code Online (Sandbox Code Playgroud)
感觉像haskell比我学到的其他语言更具表现力,我在设计应用程序时遇到了一些麻烦.
您可以给我的任何提示/指南?