我有一个名为Fork
的数据类型,它是不可变的。 Fork
实例可以包含另一种数据类型Body
的一个或多个实例。
我想逐个将Body
个实例列表插入到同一个Fork
实例中。每次插入Body
后,都会返回Fork
的新实例。
我尝试过以下代码,但是它出错了。
bodies: Seq[Body] // this is from the constructor
val fk = Fork(nw, ne, sw, se) // new instance of a Fork is created
val fkl = bodies.map(b => { val fk: Fork = fk.insert(b) }) // trying to
// insert a list of Body instances to the same instance of Fork
Error:(131, 46) forward reference extends over definition of value fk
val fkl=bodies2.map(b=>{ val fk:Fork=fk.insert(b)})
答案 0 :(得分:4)
您可以使用foldLeft
"/anotherPackage/windows.png"
它将以原始val fkl = bodies.foldLeft(fk)((f,b) => f.insert(b))
实例开始,然后为每个主体fk
将主体插入fork并返回更新的fork