我有这个记录:
data Ship = CShip {Planet::String}
deriving Show
spaceship = CShip {Planet = "alphaCentauriBb"}
Run Code Online (Sandbox Code Playgroud)
但我想改变星球上的字符串。例如:
Planet = "alphaCentauriCc"
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
您可以使用记录更新语法来更新字段的值。这将创建一个新的记录值,其字段值与旧的字段值相同,但更新的字段除外。
newSpaceship = spaceship {planet = "alphaCentauriCc"}
Run Code Online (Sandbox Code Playgroud)
请注意,字段名称必须小写。