[Ruby] Определение "+" и перестановка слагаемых
Alexander Bokovoy
a.bokovoy at sam-solutions.net
Wed Oct 2 21:58:01 MSD 2002
On Thu, Oct 03, 2002 at 12:43:37AM +0700, Ilya Palagin wrote:
> > |>|>Но можно было просто переименовать в PageElement метод to_s в
> > метод |>|>to_str. И все работает.
> ...
> > |>| для преобразования переданных аргументов в строку. В отличие от
> > |>метода to_s, |>| который поддерживается практически всеми класами,
> > to_str обычно |>| реализован только в тех классах, которые ведут
> > себя подобно строкам. Из |>| встроенных классов только Exception и
> > String реализуют to_str. |>
>
> Небольшое продолжение (если это кому-то интересно):
> Жизнь показала, что определение to_s наряду с to_str все-таки
> нужно в классе PageElement. По мере создания объектов я засовываю их в
> массив ("макет" отчета), а потом вывожу массив в блоке cgi.out через
> array.each (можно и array.to_s). Если to_s не определен в PageElement,
> вместо содержимого объектов (HTML код) получается
> "<PageElement:0x2aea05a8>".
Отсюда вывод: по поведению PageElement является "строкой" (как String и Exception),
поэтому и должны присутствовать PageElement#to_s, PageElement#to_str.
--
/ Alexander Bokovoy
---
It's a .88 magnum -- it goes through schools.
-- Danny Vermin
More information about the Ruby
mailing list