запустить объект scala в блоках данных - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь выполнить пример кода на кирпичи данных в Scala. Это объект.

object Main {
  def main(args: Array[String]) {
    val res = for (a <- args) yield a.toUpperCase
    println("Arguments: " + res.toString)
  }
}

Когда я бегу по кирпичам данных; он говорит «объект определен как главный». Я не уверен, как выполнить его сейчас или каков код для его выполнения. Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 03 ноября 2018

Вы можете вызвать метод main в объекте Main следующим образом:

val args: Array[String] = Array("test1", "test2", "test3")
Main.main(args)

То, что у вас есть в вашем основном методе, не выведет то, что вы ожидаете, что, я полагаю, является значениями, содержащимися в массиве res. Для этого вам нужно изменить его на что-то вроде следующего:

object Main {
  def main(args: Array[String]): Unit = {
    val res = for (a <- args) yield a.toUpperCase
    println("Arguments: " + res.mkString(" "))
  }
}
0 голосов
/ 02 ноября 2018

То, с чем вы работаете, является своего рода scala REPL. По сути, «главная» функция не имеет никакого значения. Сказав, что вы можете запустить свою функцию следующим образом

object Main {
  def main(args: Array[String]) {
    val res = for (a <- args) yield a.toUpperCase
    println(res)
    println("Arguments: " + res.toString)
  }
}

Main.main(Array("123","23123"))

Как и вы можете вызвать основной метод Object Main.

...