鉴于此代码:
def getFunc(funcName:String, param:Int) = match funcName {
case "FooFunc" => FooFunc(param)
[...]
}
def FooFunc(param:Int) = param + SomeObject.SomeVariable
Run Code Online (Sandbox Code Playgroud)
我怎么能回到FooFunc与param应用,没有评估它?我想要这样做的原因是因为FooFunc,正如你所看到的,依赖于一个外部变量,所以我希望能够在param已经应用的情况下调用它.返回类型getFunc需要什么?
简单:
def getFunc(funcName: String, param: Int) = funcName match {
case "FooFunc" => () => FooFunc(param)
[...]
}
Run Code Online (Sandbox Code Playgroud)
你的方法有一个好名字:getFunc应该返回一个函数,所以它会.
| 归档时间: |
|
| 查看次数: |
1516 次 |
| 最近记录: |