小编jha*_*ing的帖子

如何以编程方式使方法可链接?

假设我有一个类,我想让它的方法可链接,我可以这样做:

class MyClass {

  def methodOne(arg1: Any): MyClass = {
    println("doing stuff")
    this
  }

  def methodTwo(arg1: Any, arg2: Any): MyClass = {
    println("doing other stuff")
    this
  }
}
Run Code Online (Sandbox Code Playgroud)

虽然这样可以实现我正在寻找的功能,但在我看来并不是很优雅.有没有更好的方法呢?

假设它是可能的,我希望能够做类似以下的事情,但我不确定如何处理该makeChainable功能.

class MyClass {

  val methodOne: Any => MyClass = 
    makeChainable((arg1: Any) => println("doing stuff"))

  val methodTwo: (Any, Any) => MyClass = 
    makeChainable((arg1: Any, arg2: Any) => println("doing other stuff"))

}
Run Code Online (Sandbox Code Playgroud)

scala

7
推荐指数
1
解决办法
331
查看次数

标签 统计

scala ×1