在scala中使用同一实例调用多个函数

在scala中使用同一实例调用多个函数,scala,Scala,在scala中有什么方法可以实现以下目标 with new Car() { examineColor bargain(300) buy } 而不是 val c = new Car() c.examineColor c.bargain(300) c.buy 这个怎么样: scala> val c = new Car { | examineColor | bargain(300) | buy |

在scala中有什么方法可以实现以下目标

with new Car() {
     examineColor
     bargain(300)
     buy
}
而不是

val c = new Car()
c.examineColor
c.bargain(300)
c.buy
这个怎么样:

scala> val c = new Car {
     |     examineColor
     |     bargain(300)
     |     buy
     | }
或:

假设调用这些方法(
testecolor
讨价还价
buy
)是因为它们的副作用,而不是因为它们的返回值,您可以使用链接模式,其中每个方法都返回
this
,允许您编写如下代码:

val c1 = new Car()
c1.examineColor.bargain(300).buy

+第二个选项为1。第一个将创建
Car
的子类,并在其构造函数中执行方法,这可能不是预期的结果。
val c1 = new Car()
c1.examineColor.bargain(300).buy