Pull to refresh

Comments 6

В будущей версии Scala анонсирована поддержка типов объединения (union types).

Не может быть! Если так, то это очень здорово! Не могли бы вы, пожалуйста, дать ссылку на это объявление? В гугле ничего не находится.
Спасибо за ссылку! Добавил и обновил текст с учётом Ваших комментариев
Я не хочу растраивать, но то что представлено в этой статье — не настоящие типы обьединения, а Хак. Вот пример использования типов-обьединений, которые нужны для корректности теории, и не поддерживается тут.

class A(x: Int)
class B(x: Int)
class C(x: Array[Int])

object Test{
  def foo(x: A | B): Int = x.x
  def bar(x: A | C): Int | Array[Int] = x.x
}
Не говоря о том, что если вас волнует время компиляции, я, как разработчик компилятора, очень не советую использовать трюки как в этой статье.
Sign up to leave a comment.

Articles