斯卡拉,打电话给"自我"参数中的对象

时间:2016-03-09 17:08:08

标签: scala arguments

我实际上是在Scala中运行此代码

val obj2 = obj1.method1()
val result = obj2.method2(obj2.name)

我知道是否有可能在连接调用的参数中使用obj2,以澄清我会写类似

val result = obj1.method1().method2(_.name)

其中_表示先前计算的对象。 我不知道它是否可能,它只是一个风格问题,第一个代码工作正常

1 个答案:

答案 0 :(得分:3)

我们可以这样做(从http://combinators.info/借用into名称):

implicit class Into[A](x: A) {
  def into(f: A => B) = f(x)
}

obj1.method1().into { x => x.method2(x.name) }