我有:ox: Option[A]和oxs: Option[List[A]]。
我想:
ox.get :: oxs.get如果两者都存在则返回。List(ox.get)如果ox存在且不存在则返回oxs。oxs.get如果oxs存在且不存在则返回ox。List()如果两者都是,则返回None。
我可以用ifs 和matches. 我只是想知道是否有任何优雅的惯用方式来做到这一点?
编辑:我已经测试过:List(ox.map(List(_)), oxs).flatten.flatten它似乎适用于所有四种情况,但看起来仍然有点难以理解。