diff --git a/_ru/scala3/book/types-dependent-function.md b/_ru/scala3/book/types-dependent-function.md index 43cfba3a7c..88750e2ec5 100644 --- a/_ru/scala3/book/types-dependent-function.md +++ b/_ru/scala3/book/types-dependent-function.md @@ -10,6 +10,7 @@ language: ru num: 57 previous-page: types-structural next-page: types-others +versionSpecific: true --- _Зависимый тип функции_ (_dependent function type_) описывает типы функций, diff --git a/_ru/scala3/book/types-opaque-types.md b/_ru/scala3/book/types-opaque-types.md index 54522dafd9..f6942738a9 100644 --- a/_ru/scala3/book/types-opaque-types.md +++ b/_ru/scala3/book/types-opaque-types.md @@ -10,9 +10,12 @@ language: ru num: 55 previous-page: types-variance next-page: types-structural +versionSpecific: true --- -В Scala 3 _непрозрачные псевдонимы типов_ (_opaque type aliases_) обеспечивают абстракции типов без каких-либо **накладных расходов**. +_Непрозрачные псевдонимы типов_ (_opaque type aliases_) обеспечивают абстракцию типов без каких-либо **накладных расходов**. + +В Scala 2 аналогичный результат можно получить с помощью [классов значений][value-classes]. ## Накладные расходы на абстракцию @@ -172,3 +175,4 @@ val d: Double = log2 // ERROR: Found Logarithm required Double Как показано выше, непрозрачные типы удобны в использовании и очень хорошо интегрируются с [функцией методов расширения][extension]. [extension]: {% link _overviews/scala3-book/ca-extension-methods.md %} +[value-classes]: {% link _overviews/core/value-classes.md %} diff --git a/_ru/scala3/book/types-others.md b/_ru/scala3/book/types-others.md index 25a0437b1d..5f01514837 100644 --- a/_ru/scala3/book/types-others.md +++ b/_ru/scala3/book/types-others.md @@ -10,6 +10,7 @@ language: ru num: 58 previous-page: types-dependent-function next-page: ca-contextual-abstractions-intro +versionSpecific: true --- В Scala есть несколько других расширенных типов, которые не показаны в этой книге, в том числе: @@ -22,6 +23,6 @@ next-page: ca-contextual-abstractions-intro - Типы уточнения - Вид полиморфизма -Дополнительные сведения об этих типах см. в [Справочной документации][reference]. +Дополнительные сведения об этих типах см. в [Справочной документации Scala 3][reference]. [reference]: {{ site.scala3ref }}/overview.html diff --git a/_ru/scala3/book/types-structural.md b/_ru/scala3/book/types-structural.md index 911bc02cbe..103e6db389 100644 --- a/_ru/scala3/book/types-structural.md +++ b/_ru/scala3/book/types-structural.md @@ -10,8 +10,14 @@ language: ru num: 56 previous-page: types-opaque-types next-page: types-dependent-function +versionSpecific: true --- +_Scala 2 содержит более слабую форму структурных типов, основанную на Java reflection, +достигаемую с помощью `import scala.language.reflectiveCalls`_. + +## Введение + Некоторые варианты использования, такие как моделирование доступа к базе данных, более удобны в динамически типизированных языках, чем в статически типизированных языках. С динамически типизированными языками естественно моделировать строку как запись или объект