Scala - 全局变量获取函数中的值

问题描述 投票:0回答:1

我是Scala的初学者。

我马上就遇到了问题。

让我们说:

我有一个Vector变量和2个函数。第一个函数是调用第二个函数。并且第二个函数中有一个变量是我需要获取然后将其附加到Vector。 (不在第二个函数中返回变量。)

结构如下所示:

def main(args: Array[String]): Unit = {
    var vectorA = Vector().empty

}
def funcA(): sometype = {
    ...
    ...
    ...
    funcB()
}
def funcB(): sometype = {
    var error = 87

}

如何在全局Vector中添加错误变量?

我试着写vectorA :+ error但是徒劳无功。

scala variables global
1个回答
1
投票

您可以执行以下操作:

def main(args: Array[String]): Unit = {
    val vectorA = funcA(Vector.empty)

}

def funcA(vec: Vector): sometype = {
    ...
    ...
    ...
    funcB()
}
def funcB(vec: Vector): sometype = {
  // Here you could append, which returns a new copy of the Vector
  val error = 87
  vec :+ error

}

请记住,建议使用不可变变量。虽然并非总是如此,但对于大多数仅涉及做一些CRUD类型逻辑的应用程序,最好使用不可变变量。

© www.soinside.com 2019 - 2024. All rights reserved.