【发布时间】:2015-04-21 02:29:29
【问题描述】:
我有一个构造函数,它接受一个主要参数 (data) 和另一个参数 (model),它具有合理的默认初始化,这取决于主要参数。
我希望在适当的时候为model 提供另一个值。
一个简化的例子:
1) 没有默认参数:
class trainer(data:Int,model:Double) {}
2) 初始化:
def init(data:Int): Double = 1.0/data
3) 如果初始化独立于其他参数,它将起作用:
class trainer(data:Int, model:Double = init(1)) {}
4) 我想要什么,但是什么给出了错误:
class trainer(data:Int, model:Double = init(data)) {}
实现我想做的最好/最接近的方法是什么?
(我的特殊情况涉及构造函数,但我很想知道在一般情况下是否也有函数的方法)
【问题讨论】:
-
一般来说,没有办法在函数中获取默认参数,至少如果您希望能够以函数类型表示默认行为,以便即使在间接使用。
标签: scala constructor default-value