Scala案例类,条件复制

时间:2015-11-26 21:12:11

标签: scala

我已经定义了一个案例类和一个值:

scala> case class N(a:Int, b:Int)
defined class N

scala> val nnn = N(2,3)
nnn: N = N(2,3)

我想基于可选值修改字段 t1 t2 ,类型为Option [Int],这就是我所做的:

val nnn1 = t1.map( x => nnn.copy( a = x)).getOrElse(nnn)
val nnn2 = t2.map( x => nnn1.copy( b = x)).getOrElse(nnn1)

Theres a Lens / Monocle / Scalaz的做法是通用的吗?

1 个答案:

答案 0 :(得分:0)

一个好的方法是

!F2PY INTENT(IN) N, CPW, TOL
!F2PY DEPEND(N) CPW
!F2PY (CALLBACK) FUNC1
!F2PY CALL FUNC1(CP)
EXTERNAL :: FUNC1

如果您必须将 someF 应用于 t1 ,则将其分开可能是一个好主意。 没有镜头给你。

相关问题