?

Log in

No account? Create an account

Зачем нужны имплисит макросы? - Excelsior — LiveJournal

May. 7th, 2013

11:06 pm - Зачем нужны имплисит макросы?

Previous Entry Share Next Entry

Comments:

[User Picture]
From:unstablebear
Date:May 8th, 2013 04:08 am (UTC)
(Link)
> implicit def listSerializable[T](xs: List[T])(implicit s: Serializable[T]) = {
> val p = new Pickle
> for (x <- xs) p += serialize(x)
> p
> }
>
> implicit object IntSerializable extends Serializable[Int] { ... }
> serialize(List(42))

Насколько я могу понять последний вызов serialize эквивалентен serialize(listSerializable[Int](List(42))(IntSerializable)) .
listSerializable вернет Pickle. Подразумевается, что существует инстанс тайп-класса вроде PickleSerializable extends Serializable[Pickle] { ... } ?
В теме не силен, но интересуюсь :)
(Reply) (Thread)
[User Picture]
From:xeno_by
Date:May 8th, 2013 07:01 am (UTC)
(Link)
Прошу прощения, пример я зафейлил. Теперь все исправлено и добавлен результат дешугаринга. Спасибо!
(Reply) (Parent) (Thread)
[User Picture]
From:unstablebear
Date:May 8th, 2013 07:18 am (UTC)
(Link)
Да, теперь понятно. Между прочим, спасибо за статью :)
(Reply) (Parent) (Thread)