Какой лучший способ использовать обогащенную мою библиотеку в Scala?

StackOverflow https://stackoverflow.com/questions/9402218

  •  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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top