当处理现有库(不能编辑构造函数或伴随对象)时,我经常发现需要调用对象的init/setup过程,然后返回对象本身。我通常最终会做类似下面的事情。处理副作用:帮助函数链构造函数和设置方法
def createObject: MyObject = {
val o = new MyObject
o.init()
o
}
这是恕我直言不是非常优雅,我想知道是否有这样做,例如更好的方法,一个的建立和取得功能的线沿线的:
def createObject: MyObject = {
setupAndGet(new MyObject) { _.init(v) }
}
是否有斯卡拉这个任何现有的解决方案(除了写我自己的)?
这不是“功能风格”。 'o.store'行为有副作用,所以你不可能在Scala中找到你想要的内容。 –