Я новичок в 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]]
) добавляется диктофон. Есть что-то, что мне не хватает? Я заметил, что нет документа doc/tutorial по глобальным переменным, поэтому я предполагаю, что в принципе нет понятия Global variables в SCALA. Затем, как понятие глобальных переменных обрабатывается в Scala?
Пожалуйста, попытайтесь улучшить форматирование кода в следующий раз :) Это было трудно прочитать. – fresskoma
Ваш 'myDict' - глобальная переменная. На другие классы можно ссылаться как «Scala_Object.myDict». И в некотором смысле 'Scala_Object' также является глобальной переменной. – Madoc