相关疑难解决方法(0)

是否有用于更新嵌套数据结构的Haskell习惯用法?

假设我有以下数据模型,用于跟踪棒球运动员,球队和教练的统计数据:

data BBTeam = BBTeam { teamname :: String, 
                       manager :: Coach,
                       players :: [BBPlayer] }  
     deriving (Show)

data Coach = Coach { coachname :: String, 
                     favcussword :: String,
                     diet :: Diet }  
     deriving (Show)

data Diet = Diet { dietname :: String, 
                   steaks :: Integer, 
                   eggs :: Integer }  
     deriving (Show)

data BBPlayer = BBPlayer { playername :: String, 
                           hits :: Integer,
                           era :: Double }  
     deriving (Show)
Run Code Online (Sandbox Code Playgroud)

现在让我们说经常是牛排狂热分子的经理想要吃更多的牛排 - 所以我们需要能够增加经理人饮食中的牛排含量.以下是此功能的两种可能实现:

1)这使用了大量的模式匹配,我必须得到所有构造函数的所有参数排序正确...两次.它似乎不会很好地扩展或者非常易于维护/读取.

addManagerSteak :: BBTeam -> BBTeam
addManagerSteak (BBTeam …
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming static-typing clojure

42
推荐指数
3
解决办法
7233
查看次数