2
我試圖在Scala中配對兩個列表,其中不匹配的對應由默認值替換,這是迄今爲止我所擁有的,但是您的一切都以某種方式失敗。將不均勻長度的列表與缺省值匹配爲缺失值
如何創建列表((a,a),(b,空),(c,c))?
case class Test(id: Option[Int] = None)
val empty = Test()
val a = Test(Some(1))
val b = Test(Some(2))
val c = Test(Some(3))
val cache = List(a,b,c)
val delta = List(a,c)
//Trial 1
val newCache1 = cache.zipAll(delta,empty,empty)
//Tial 2
val newCache2 = for {
c <- cache
d <- delta
if c.id == d.id
} yield (c,d)
//Tial 3
val newCache3 = for {
c <- cache
d <- delta
} yield if (c.id == d.id) (c,d) else (c,empty)
可以重複嗎?名單是否有序?你可以把三角洲放在地圖上,然後從中選出一對。 – Stephen