program plugin para intellij instalar imports idea first configurar scala intellij-idea sbt scala-script

plugin - ¿Cuál es la diferencia entre las clases de scala, los scripts y las hojas de trabajo en Intellij-idea?



scala intellij imports (2)

Hoja de trabajo Scala

Es igual que el intérprete de Scala (REPL) pero se ejecuta dentro de IntelliJ. Donde puedes evaluar algunas expresiones fácil y rápidamente. Consulte la página de confluencia de IntelliJ para obtener más información.

Scala Script

Si no quieres escribir un script en Bash, puedes hacerlo con Scala. Es solo una secuencia de declaraciones de Scala .

Ejemplo:

import java.nio.file.{Paths, Files} val ScalaSource = "*.scala" val Path = "path/to/necessary/folder" val stream = Files.newDirectoryStream(Paths.get(Path), ScalaSource) val paths = stream.iterator while (paths.hasNext) { println(paths.next.getFileName) }

Ejecutandolo

$ scala scala_script_name.scala

Para empezar a recoger esta guide .

Clases y objetos

La respuesta corta para las clases de Scala es similar a POJO y los objetos de Scala es una clase de Singleton de Java.

Estoy usando Intellij-idea para la programación de scala (con el complemento sbt).

Quiero saber cuál es la diferencia entre las clases de scala, los scripts de scala y las hojas de trabajo de scala. ¿Cuándo usamos cada uno de ellos?

Esto será muy bueno si puedes explicarlo con un simple ejemplo.

Gracias


Tienes diferentes formas de ejecutar el código de Scala:

Primero cree un programa con sus clases, esto es como en java, yo uso el objeto porque funciona bien sin instantáneos, como estático, solo compile con el SBT y ejecútelo también puede usar el intérprete de Scala REPL

Podemos usar este objeto en el REPL.

scala> object Hello { | def main(args:Array[String]) { | println("Hello, Scala !!") | } | } defined object Hello scala> Hello.main(Array("onlyforwork")) Hello, Scala !!

compilarlo y ejecutarlo usando activador / SBT

> compile [info] Compiling 1 Scala source to /home/anquegi/Dev//scalaStack/target/scala-2.11/classes... [success] Total time: 2 s, completed 13/04/2015 11:29:42 > run [warn] Multiple main classes detected. Run ''show discoveredMainClasses'' to see the list Multiple main classes detected, select one to run: [1] org.example.Hello [2] org.example.ScheduledTaskScala [3] question1.Ques [4] scriptworksheet.Hello Enter number: 4 [info] Running scriptworksheet.Hello Hello, Scala !! [success] Total time: 19 s, completed 13/04/2015 11:30:04

La segunda es que si agregamos el código de Scala como una secuencia de comandos o un archivo Hello.scala, puede guardar el código de Scala en el archivo con la extensión .scala (básicamente con cualquier extensión de archivo pero la extensión .scala preferida) y, para ejecutar, proporcionar el archivo. Nombre con extensión como parámetro al intérprete de scala.

/** * Created by anquegi on 13/04/15. */ println("Hello, Scala !!")

Si llamamos al intérprete de Scala, este archivo se ejecuta, no necesita instanciar objetos o clases, solo ejecutar como un script de shell, también puede ejecutar directamente desde Intellij, pero uso la consola con Scala instalada en el sistema.

[anquegi@localhost scalaStack]$ scala src/main/scala/scriptworksheet/HelloScript.scala Hello, Scala !!

Y, finalmente, la hoja de trabajo es la más poderosa, lo recomiendo para aumentar su productividad en el trabajo, ya que es fácil de probar, es como el REPL, ya que elimina las experiencias de Scala y le muestra el resultado.

A continuación se muestra un extracto de la wiki de repositorio de github sobre la hoja de trabajo de Scala

Una hoja de cálculo es un archivo Scala que se evalúa al guardar, y el resultado de cada expresión se muestra en una columna a la derecha de su programa. Las hojas de trabajo son como una sesión REPL con esteroides, y cuentan con soporte de editor de primera clase: finalización, hipervinculación, errores interactivos a medida que se escribe, formato automático, etc.

// We can define objects or classes and the worksheet //will print the sesult of every expression object Hello { def main(args:Array[String]) { println("Hello, Scala !!") } } println("Hello Scala") val a = 4 + 5

el resultado

defined module Hello Hello Scala res0: Unit = () a: Int = 9

luego una captura que muestra cómo trabajar con classe la hoja de trabajo y la consola para scripts en el Intellij