假设我有一个类,我想让它的方法可链接,我可以这样做:
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 ×1