小编mf2*_*295的帖子

通过添加元素修改当前列表 - Haskell 101

我想在一个Director名为的数据类型变量的"movies"列表中添加一个元素billy.

type Name  = String
type Movie = String
data Director = Director {name:: Name, movies::[Movie]}
    deriving (Show)
let billy = Director "Billy J." ["Good movie 1"]

--addMovieToDirector :: Movie -> Director -> Director
addMovieToDirector m (Director n ms) = Director n (m:ms)
Run Code Online (Sandbox Code Playgroud)

问题是之前的功能没有更新比利的电影列表,它创建了一个Director带有所需列表的新内容(更改不存储在比利上).如何在不创建另一个的情况下操作比利的列表Director?我明白,Haskell使用常量,但是每次修改列表时我应该创建一个不同的'billy'"变量"吗?

谢谢!

haskell list immutability

4
推荐指数
1
解决办法
109
查看次数

标签 统计

haskell ×1

immutability ×1

list ×1