One of the programming languages.
It has both "object-oriented" and "functional programming" properties (dual wield that can do both).
Future
library that can perform asynchronous calculation as standardI think it's easy to use Homebrew
.
All the environment construction can be done with this guy (I feel).
# scala (Body,However, as a prerequisite, you need an environment where Java can run.-See below)
$ brew search scala
==> Formulae
scala [email protected] [email protected] scalaenv scalapack scalariform scalastyle
==> Casks
scala-ide
# sbt (scala build tool,Think of it as a useful guy to do various things)
$ brew search sbt
==> Formulae
sbt [email protected] sbtenv
Again use Homebrew
.
ʻIt seems good to install AdoptedOpenJDK`.
AdoptedOpenJDK is an OpenJDK binary (I think) provided by the Java-loving community (). Installing via Oracle has become troublesome, such as registering an account or arranging folders by yourself, so I think it's cheaper to put it in quickly than sticking to strange things ... </ font>
#Add repository
$ brew tap AdoptOpenJDK/openjdk
# search
$ brew search openjdk
# install
$ brew cask install adoptopenjdk11
Check the location of the installed directory with the java_home
command
$ /usr/libexec/java_home -v 11
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
Add the character string that comes out by $ what / java_home -v 11
to PATH
as the environment variable JAVA_HOME
Describe it in .bash_profile
or .bashrc
as needed.
# .I wrote it in bashrc.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
PATH=${JAVA_HOME}/bin:${PATH}
Reload configuration file
#Either of the following is OK
source ~/.bashrc
exec $SHELL -l
Check it for the time being.
$ java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.7+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.7+10, mixed mode)
$ javac -version
javac 11.0.7
#Compilation example
$ javac source.java
#Execution example(.Be careful not to include class)
$ java Source
You can just use sbt
(described later), but I'll write it down.
# install
$ brew install scala
that's all.
#REPL startup
$ scala
Welcome to Scala 2.13.3 (OpenJDK 64-Bit Server VM, Java 11.0.7).
Type in expressions for evaluation. Or try :help.
scala>
//output
scala> println("Hello scalalala")
Hello scalalala
//Operation 1
scala> 1 + 2
val res1: Int = 3
//Operation 2
scala> 3 * 6
val res2: Int = 18
//Operation 3
scala> 8.0 / 2.0
val res3: Double = 4.0
//End
scala> :quit
// scala> :q is OK
The extension is .scala
Main.scala
object Main {
def main(args: Array[String]): Unit = {
println("Hello scala program")
}
}
$ scalac Main.scala
$ scala Main
$ scala Main.scala
$ scala
Welcome to Scala 2.13.3 (OpenJDK 64-Bit Server VM, Java 11.0.7).
Type in expressions for evaluation. Or try :help.
scala> :load Main.scala
# install
$ brew install sbt
that's all.
#REPL startup
$ sbt console
...
[info] Starting scala interpreter...
Welcome to Scala 2.12.10 (OpenJDK 64-Bit Server VM, Java 11.0.7).
Type in expressions for evaluation. Or try :help.
scala>
(The rest is the same, so details are omitted)
As a preliminary preparation, I think it's a good idea to create some folders. (I named it myfolder, but anything is fine, please replace the corresponding part)
$ mkdir myfolder
$ cd myfolder
Write the source file under myfolder and put it.
HelloWorld.scala
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello, Scala World!")
}
}
Place the sbt
config file under myfolder
build.sbt
scalaVersion := "2.12.10"
scalacOptions ++= Seq("-deprecation", "-feature", "-unchecked", "-Xlint")
Start sbt
[info] ...
sbt:myfolder>
Run with the run
command
sbt:myfolder> run
[info] Compiling 1 Scala source to ...
[info] Running HelloWorld
Hello, Scala World!
[success] Total time: 1 s, completed 2015/02/09 15:44:44`
The run
command seems to find and execute an object that has a main method.
or something wrong with the date ... ?? </ font>
Recommended Posts