我是Scala和函数式编程的新手。我试图使用全局变量的功能,在我的主要()这样的功能,Scala中的全局变量
object Scala_Object {
var myDict = scala.collection.mutable.Map[String,String]()
def str_rev(s : String) : String = {
myDict.put(s,s.reverse)
return (s.reverse)
}
def main (args: Array[String]){
..
..
val result = parsedArray.map(line => line.map { word =>
if(word == "") word
else if(word == line(2) || word == line(3)) str_rev(word)
else if (word == line(1) || word == line(26)) str_rev(word)
else word})
}
在我的程序结束从我从parsedArray(这是一个Array[Array[String]]
)第一行仅元素被添加到字典 - myDict。有什么我失踪的?我注意到没有关于全局变量的doc/tutorial,所以我认为在SCALA中基本上没有叫做全局变量的概念。那么,在Scala中如何处理全局变量的概念呢?
请下次尝试改进你的代码格式:)这是一种很难阅读。 – fresskoma
您的myDict是一个全局变量。它可以被其他类引用为'Scala_Object.myDict'。并且'Scala_Object'也是一个全局变量。 – Madoc