/ / Prečo „ahoj, svet“ nie je výstupom z konzoly? - Scala

Prečo sa na konzolu nevysiela "Ahoj, svet"? - scala

Učím sa len stupnice a napísal som program „ahoj, svet“ takto:

object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}

Uložil som ho do súboru s názvom „helloworld.scala“

Teraz ju spustím v konzole:

scala helloworld.scala

Ale nič nevyšlo. Myslel som, že to vydá "Ahoj, svet". Prečo?

PS

Ak upravím obsah na:

println("Hello, world")

a spustiť znova, vydá výstup „ahoj, svet“.

odpovede:

11 pre odpoveď č. 1

Ak chcete spustiť kód ako skript (pomocou scala helloworld.scala), musíte povedať, scala, kde je vaša hlavná metóda pridaním riadku

  HelloWorld.main(args)

k vášmu kódu

Druhou možnosťou je kompilovanie skriptu pomocou scalac helloworld.scala a potom zavolajte kompilovanú verziu svojej triedy pomocou scala HelloWorld


10 pre odpoveď č. 2

Máte dve možnosti.

Zostaviť a spustiť:

Rovnako ako v Java by ste mali mať main-method ako východiskový bod vašej aplikácie. Toto je potrebné skompilovať scalac, Potom môžete zostavený súbor triedy spustiť pomocou scala ClassName

scalac helloworld.scala
scala HelloWorld

scenár:

Ak máte iba malý skript, môžete priamo zapísať kód do súboru a spustiť ho pomocou scala Príkaz. Potom bude obsah tohto súboru automaticky zabalený do súboru main-method.

// hello.scala, only containing this:
println("Hello, world!")

potom spustite:

scala hello.scala

Každopádne by som odporučil zostaviť a spustiť. V „Scalascripte“ nie sú možné veci, na ktoré si práve teraz nepamätám.