相关疑难解决方法(0)

有没有办法从列表中创建元组(没有代码生成)?

有时需要从小集合中创建元组(例如,烫伤框架).

def toTuple(list:List[Any]):scala.Product = ...
Run Code Online (Sandbox Code Playgroud)

scala tuples iterable-unpacking

15
推荐指数
4
解决办法
9689
查看次数

更新Scala案例类的操作

我有两个相同类型的实例化案例类.

case class Foo(x : Option[String], y : Option[String], z : Option[String])
Run Code Online (Sandbox Code Playgroud)

让我们调用实例化的类A和B.

val a = Foo(x=Some("foo"), y=Some("bar"), z=Some("baz"))
val b = Foo(x=None, y=Some("etch"), z=None)
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以通过一般操作在单个操作中用B更新案例类A.

val c = b *oper* a // produces Foo(x=Some("foo"), y=Some("etch"), z=Some("baz")) 
Run Code Online (Sandbox Code Playgroud)

参数设置为无忽略.理想情况下,操作也应该是通用的,因此它可以作用于任何类型的案例类.

我有一些直觉,可以通过先将类转换为元组/列表并在操作完成后转换回类来使用Scalaz来实现这一点 - 也许使用ApplicativeBuilder?我是否以正确的方式思考这个问题?有任何想法吗?

scala scalaz

12
推荐指数
2
解决办法
2135
查看次数

标签 统计

scala ×2

iterable-unpacking ×1

scalaz ×1

tuples ×1