Scala - 如何使用来自另一个 class 的数据初始化对象
Scala - how to initialize object with data from another class
在我的 Scala 应用程序(2.11 版)中,我想在整个应用程序中使用主要参数。
为此,我想创建一个对象(在 Scala 中是单例),并用 main-args 初始化它
像这样:
object MyMain{
def main(args: Array[String]):Unit = {
//how to set SingletonArgs with args???
}
object SingletonArgs{
def getArg0():String{...}
def getArg1():String{...}
}
class AnotherClass(){
def printArg0(){
println(SingletonArgs.getArg0)
}
}
如何初始化 SingletonArgs?
是否有其他共享主要参数的方法?
正如 Tim 在他的评论中提到的那样:不要这样做。
如果您不想让这些参数弄乱您的代码,您可以使用 implicits
:
object MyMain {
def main(args: Array[String]): Unit = {
implicit val myArgs = MyArgs(args(0), args(1))
new AnotherClass().printArg0()
}
}
case class MyArgs(arg0: String, arg1: String)
class AnotherClass()(implicit args: MyArgs) {
def printArg0() {
println(args.arg0)
}
}
在我的 Scala 应用程序(2.11 版)中,我想在整个应用程序中使用主要参数。
为此,我想创建一个对象(在 Scala 中是单例),并用 main-args 初始化它
像这样:
object MyMain{
def main(args: Array[String]):Unit = {
//how to set SingletonArgs with args???
}
object SingletonArgs{
def getArg0():String{...}
def getArg1():String{...}
}
class AnotherClass(){
def printArg0(){
println(SingletonArgs.getArg0)
}
}
如何初始化 SingletonArgs?
是否有其他共享主要参数的方法?
正如 Tim 在他的评论中提到的那样:不要这样做。
如果您不想让这些参数弄乱您的代码,您可以使用 implicits
:
object MyMain {
def main(args: Array[String]): Unit = {
implicit val myArgs = MyArgs(args(0), args(1))
new AnotherClass().printArg0()
}
}
case class MyArgs(arg0: String, arg1: String)
class AnotherClass()(implicit args: MyArgs) {
def printArg0() {
println(args.arg0)
}
}