我将以下数据类型定义为记录:
data Config = Config
{ field1 :: String
, field2 :: String
, field3 :: String
}
我想遍历Config
的每个字段,应用一些函数 String -> String
(例如tail
),并返回新的Config
。
怎样写是符合惯用法的呢?最好不要使用重型第三方库。
tail
的函数,它会返回相同类型的String
。我已经更新了问题。 - Filip van Hofttail
的情况下,@leftroundabout的答案是要使用的答案。请注意,即使您正在寻找一个函数Config -> Config,您也需要向Config的定义添加一个类型变量(如@leftroundabout的答案中所示),以便fmap
可以为您完成工作。 - ErikR