1
37
例如。
|
2
16
有几种方法可以做到这一点。您可以在私有定义中声明这样的临时变量,以便在构建期间使用。您可以在返回表达式的块中使用临时变量(例如在alaz的答案中)。或者,最后,您可以在备用构造函数中使用这些变量。 以类似于备用构造函数的方式,您也可以在对象伙伴的“apply”方法中定义它们。 你什么 不能 do是将字段声明为“临时”。 还要注意,主构造函数接收到的任何参数也是一个字段。如果不希望此类参数成为字段,也不希望在构造函数中公开实际字段,通常的解决方案是将主构造函数与实际字段一起私有化,并使用备用构造函数或对象伙伴的apply()作为有效的“主”构造函数。 |
3
11
另一个选择是将主对象构造函数设为私有,并将配套对象的Apply方法用作生成器。如果我们将(pun不是有意的)这种方法应用于您的示例,它将如下所示:
要创建R实例而不是:
写:
这有点冗长,但可能更糟,我想:)。我们希望在将来的scala版本中将私有[this]VAL视为临时变量。马丁自己也暗示过。 |
davidzxc574 · 将字符串缩放为字符 2 年前 |
yic_l · 什么是“!”在这个函数中是什么意思? 2 年前 |
Jelly · Scala:用于理解递归未来 2 年前 |
bbgghh · 在scala中连接两个列表时如何处理不匹配的键 2 年前 |
Iheb Mar · 卡夫卡制作人/消费者粉碎每一秒的API调用 2 年前 |
B. Bal · 在Scala中重用类成员 2 年前 |