]]> ]]>

Scala 2.3.2

Версия реализации Scala for JVM языка программирования Scala

Версия Scala 2.3.2 выпущена 23 января 2007.

Основные изменения относительно версии Scala 2.3.1:

  • добавлена поддержка многолинейных выражений
  • jcl библиотека (scala.collection.jcl) обеспечивает “обертку” для Java Collections Framework
  • перемещены константы из compat.Math
  • библиотека collection (scala.collection) была расширена
  • исправлены обнаруженные критические ошибки
  • исправлена ошибка с невыдачей некоторых ошибок

Изменения в синтаксисе языка

Появилась возможность определения шаблонов не зависимо от case-классов, используя unapply методы:

    object Twice {                              
      def apply(x: Int): int = x*2
      def unapply(z: Int): Option[int] = if (z%2 == 0) Some(z/2) else None
    }
    val x = Twice(21) 
    x match { case Twice(n) => Console.println(n) } // Выведет 21

Был введен новый синтаксис для кортежей. Для любых сочетаний типов {T1 ,.., Tn} запись {T1 ,.., Tn} является аналогом для Tuplen[T1 ,.., Tn]. Аналогично и для любого сочетания выражений x1,.., xn запись {x1 ,.., xn} является аналогом для (x1 ,.., xn)

Появилась возможность использовать методы как инфиксные операторы для нескольких аргументов:

    class C {
      def +(x: int, y: String) = ...
    }
    val c = new C
    c + (1, "abc")

Введен новый стандартный атрибут deprecated. Если производится обращение к элементу отмеченному как deprecated, то выводится сообщение “deprecated”


Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам