Въведение в езика Scala

Защо да учим Scala?

A language that doesn’t affect the way you think about programming is not worth knowing. — Alan Perlis

Принципи на Scala

Влияния

  • Обектно-ориентирани (Ruby/Smalltalk/Python)
  • Функционални (ML, Haskell)
  • Статично типизирани (ML, Haskell)
  • JVM (Java)
  • Конкурентни (Erlang)

Основни принципи

  • Всичко е израз
  • Изразите имат стойност и тип
  • Типовете се декларират след идентификатора
  • REPL (shell)

Литерали

  • Int
  • Boolean
  • String
  • Char

Дефиниции

  • Променливи – var
  • променливи – val
  • type inference
  • функции – def

Незадължителни елементи

  • ;
  • .
  • ()

Йерархия на типовете

Основни типове

  • Any
  • AnyRef
  • AnyVal
  • Unit
  • Null
  • Nothing

Контролни структури

  • if
  • while
  • for
    • генератори
    • дефиниции
    • филтри

Операции на List, String, Range

  • isEmpty
  • length
  • head
  • tail
  • take
  • drop

Допълнителни ресурсиs

Упражнения

  • Проверете дали един низ има балансирани скоби