Similar presentations:
ОСНОВЫ ЯЗЫКА SCALA
1.
ОСНОВЫ ЯЗЫКА SCALA2.
• Для закачки используем сайтhttps://get-coursier.io/docs/cli-installation
• скачиваем файл
cs-x86_64-pc-win32.zip
Распаковываем его и запускаем инсталляцию.
2
3.
34.
• После инсталляции создается папка bin попути
c:\Users\HP\AppData\Local\Coursier\data\bin\
• Здесь Coursier служит как навигатор, если
нужно искать созданную папку. Ее (bin)
содержимое таково:
4
5.
• Компилятор – это scalac.bat. Выполнениепрограмм реализуется с помощью scala.bat.
5
6.
object ScalaExample{def main(args:Array[String])={
println ("Hello Scala - Zur Mich") }
}
>scalac first.scala
6
7.
object Person {def hello(name: String): Unit = println(s"Hello,
$name!")
}
object Main {
def main(args: Array[String]): Unit = {
Person.hello("Alice")
Person.hello("Bob")
}
}
Hello, Alice!
Hello, Bob!
7
8.
object MyModule {def myFunction(x: Int, y: Int): Int = x + y
val PI = 3.14159
}
object Main {
def main(args: Array[String]): Unit = {
println(MyModule.myFunction(2, 3)) // prints 5
println(MyModule.PI) // prints 3.14159
}
}
8
9.
object Person {def hello(name: String): Unit = println(s"Hello, $name!")
}
object Main {
def main(args: Array[String]): Unit = {
Person.hello("Alice")
Person.hello("Bob")
}
}
object Main2 {
def main(args: Array[String]): Unit = {
Person.hello("Alice2")
Person.hello("Bob")
}
}
9
10.
Функцииobject ScalaExample2{
def f(data: Int): Int = data + 1
def main(args:Array[String])={
println("x="+f(1))
}
}
10
11.
object ScalaExample2{def f(data: Int): Int = {data + 1}
def main(args:Array[String])={
println("x="+f(1))
}
}
11
12.
Пример возведения в квадрат.object ScalaExample2{
def f(data: Int): Int = data*data
def main(args:Array[String])={
println("x="+f(2))
}
}
12
13.
object ScalaExample2{def f(data: Int): Int = {data + 1}
def g(data2: Int): Int = data2 * 2
def main(args:Array[String])={
println("x="+f(g(3)))
}
}
13
14.
object ScalaExample4{def f(data: Int): Int = {data + 1}
def g(data2: Int): Int = data2 * 2
def main(args:Array[String])={
println("x="+f(g(g(3))))
}
}
14
15.
Примеры смешения Java и Scalaimport java.util.ArrayList
object Main23 {
def main(args: Array[String]): Unit = {
val list = new ArrayList[String]()
list.add("foo")
list.add("bar")
list.add("apple")
println(list)
}
}
15
16.
Примеры смешения Java и Scalaimport java.util.ArrayList
object Main23 {
def main(args: Array[String]): Unit = {
val list = new ArrayList[String]()
list.add("foo")
list.add("bar")
val item = list.get(0)
println(item)
}
}
16
17.
Примеры смешения Java и Scalaimport java.util.ArrayList
object Main23 {
def main(args: Array[String]): Unit = {
val list = new ArrayList[String]()
list.add("foo")
list.add("bar")
val index = 1
val item = list(0) // конструкция scala, с java не идет!
println(item)
}
}
17
18.
Примеры смешения Java и Scalaimport java.util.ArrayList
object Main23 {
def main(args: Array[String]): Unit = {
val list = new ArrayList[String]() // arraylist в scala
list.add("foo")
list.add("bar")
list.add("apple");
println(list.indexOf("bar")) // java
}
}
18
19.
Рекурсияobject ScalaExample2{
def sumUp(z: List[Int]): Long = {
if(z.isEmpty) 0
else {
z.head + sumUp(z.tail)
}
}
def main(args:Array[String])={
println("x="+sumUp(List(1,2,3,4)))
}
}
19
20.
Lambda-выражения в SCALAobject ScalaExample2{
def main(args:Array[String])={
// lambda expression
val multiply = (x:Int, y:Int) => x * y
println(multiply(2, 3))
}
}
Тип выражения выводится как (Int, Int) => Int
20
21.
// lambda expressionval multiply = (Int, Int) => Int = (x:Int, y:Int) => x * y // явное задание
типа
object ScalaExample2{
def main(args:Array[String])={
// lambda expression
val multiply = (Int, Int) => Int = { val z= x * y;
z*z;}
println(multiply(2, 3))
}
}
21
22.
object ScalaExample2{def main(args:Array[String])={
// list of numbers
val ListOfNumbers = List(1,2,3,4)
// squaring each element of the list
val result = ListOfNumbers.map( (x:Int) => x * x )
println(result)
}
}
22