[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