[1] Scala – Instalacja

3 lutego 2022 Wyłączono przez Adam [zicherka] Nogły

[1] Zainstaluj Scala 2.10. Potwierdź bieżącą włączoną wersję Scali i zainstaluj ją.

[root@vlsr01 ~]# dnf module list scala
Ostatnio sprawdzono ważność metadanych: 2:47:16 temu w dniu czw, 3 lut 2022, 08:29:11.
CentOS Stream 8 - AppStream
Name    Stream     Profiles    Summary
scala   2.10 [d]   common [d]  A hybrid functional/object-oriented language for the JVM
Wskazówka: [d]omyślne, [e]włączone, [x]wyłączone, [i]zainstalowane

[root@vlsr01 ~]# dnf module install scala
[root@vlsr01 ~]# scala -version
Scala code runner version 2.10.6 -- Copyright 2002-2013, LAMP/EPFL

[2] Uruchom Scala REPL (Read Eval Print Loop), która jest interaktywną powłoką do testowania Scali.

[root@vlsr01 ~]# scala
Welcome to Scala version 2.10.6 (OpenJDK 64-Bit Server VM, Java 1.8.0_322).
Type in expressions to have them evaluated.
Type :help for more information.

#wyświetl coś ;-)
scala> println("Hello Scala World")
Hello Scala World

#ustaw wartość zmiennej
scala> val msg:String = "Hello Scala World"
msg: String = Hello Scala World
scala> println(msg)
Hello Scala World

#wyjdź
scala> sys.exit

[3] Stworzymy teraz przykładowy program, aby przetestować działanie Scali.

[root@vlsr01 ~]# mcedit readfile.scala
#stwórz nowy plik
import java.io.File
import java.io.FileReader
import java.io.BufferedReader

object readfile {
  def main(args: Array[String]) {
    val reader = new BufferedReader(new FileReader(new File("/etc/passwd")))
    try {
      var line : String = null
        while ({ line = reader.readLine; line != null }) {
          println(line)
        }
    } finally {
      reader.close
    }
  }
}

#uruchom jako skrypt
[root@vlsr01 ~]# scala readfile.scala
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
. . . . .

#skompiluj i uruchom
[root@vlsr01 ~]# scalac readfile.scala
[root@vlsr01 ~]# scala readfile
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
. . . . .