Ключевое слово implicit в scala - это повод для споров и обсуждений, это инструмент, позволяющий увеличить гибкость и читаемость кода в разы, да и просто безумно интересная фича, давайте же разберёмся что это такое, implicits? Существует несколько видов implicit'ов, начнём по порядку: Первый вид - неявные значения, то есть implicit val. Предположим, у нас есть метод: def implEx()(implicit a: String) = println(a) , то обозначив implicit val myString = "Hello implicit" в скоупе видимости, мы сможем вызвать implEx() - как видите, мы не передаём туда значение "а", оно подтягивается автоматически(со String пример исключительно показательный, используйте имплиситы исключительно со своими созданными классами и типами - во избежание проблем и зудящей боли одного места). Что же такое "скоуп видимости"? Как же значения имплиситов подтягиваются сами, без вашего участия? Ну тут я немного наврал, не сами, это компилятор делает за вас всю грязную работу. И для того, чтобы он знал, где искать необход
Implicits: неявные преобразования для гибкости вашего кода.
4 октября 20194 окт 2019
62
2 мин