【发布时间】:2013-10-14 23:32:18
【问题描述】:
我是 Scala 和函数式编程的新手。我正在尝试在这样的 main() 函数中使用全局变量的功能,
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]])的第一行中的元素被添加到 dict - myDict。有什么我想念的吗?我注意到没有关于全局变量的文档/教程,所以我认为在 SCALA 中基本上没有称为全局变量的概念。那么,Scala 中如何处理全局变量的概念呢?
【问题讨论】:
-
下次请尝试改进您的代码格式 :) 有点难以阅读。
-
您的
myDict是一个全局变量。它可以被其他类引用为Scala_Object.myDict。在某种程度上,Scala_Object也是一个全局变量。
标签: scala dictionary functional-programming