我想知道如何将类型A的变量x附加到Option [List [A]]。
val opt = Option[List[A]] which is initially None.
现在如何将x添加到A的列表?
是吗:
opt.get ++ x
是否使用get?
更改了opt值希望我的问题很清楚
答案 0 :(得分:5)
是否使用get?
更改了opt值
不,List[A]
是不可变的,在使用opt.get ++ List(x)
的情况下,您可以获得新的列表。我不建议直接使用.get
。
相反,如果列表为map
,则可以使用orElse
和None
:
val result: Option[List[A]] = opt.map(list => x +: list).orElse(Option(List(x)))
另一种方法可以使用Option[A].fold
:
val result: Seq[Int] = opt.fold(List(x))(list => x +: list)
如果您想要添加元素并提取列表,请使用getOrElse
:
val result: Seq[Int] = opt.map(list => x +: list).getOrElse(List(10))
答案 1 :(得分:0)
我实际上是通过
解决了这个问题val result = Option(opt.get ++ x )