Какой лучший способ использовать обогащенную мою библиотеку в Scala?
-
29-10-2019 - |
Вопрос
- два разных способа реализации.
Один более короткий
implicit def toR1(s:String) = new { def getLength = s.length)}
.
вторая длина длина
class R2(s:String){def getLength2 = s.length)}
implicit def toR2(s:String) = new R2(s)
.
Какой из них лучше?
Решение
Первая версия использует a Структурный тип .Это позволяет написать короткий и читаемый код, но недостаток структурных типов заключается в том, что отражение используется во время выполнения при вызове метода в структурном типе.Вызов метода через отражение медленнее, чем вызов метода напрямую.
Подробнее в этом сообщении в блоге (написано мной): Избегайте структурных типов, когда библиотеки Pimping
Не связан с StackOverflow