Scala-全局变量获取函数中的值
我是Scala的初学者 我马上就有问题了 比如说: 我有一个向量变量和两个函数。第一个函数调用第二个函数。第二个函数中有一个变量,我需要得到它,然后把它附加到向量上。不返回第二个函数中的变量 结构如下所示:Scala-全局变量获取函数中的值,scala,variables,global,Scala,Variables,Global,我是Scala的初学者 我马上就有问题了 比如说: 我有一个向量变量和两个函数。第一个函数调用第二个函数。第二个函数中有一个变量,我需要得到它,然后把它附加到向量上。不返回第二个函数中的变量 结构如下所示: def main(args: Array[String]): Unit = { var vectorA = Vector().empty } def funcA(): sometype = { ... ... ... funcB() } def fu
def main(args: Array[String]): Unit = {
var vectorA = Vector().empty
}
def funcA(): sometype = {
...
...
...
funcB()
}
def funcB(): sometype = {
var error = 87
}
如何在全局向量中添加错误变量
我试图写vectorA:+错误,但没有成功。您可以执行以下操作:
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类型逻辑的应用程序,最好使用不可变变量。您应该首先了解théScala集合的设计,使用var和变量变异的不可变性应该是最后一个选项,在某些特殊情况下,卡拉不是威德,而是用户!您需要了解Scala背后的原理,然后才能解决您的问题!