Спасибо, пригодится. В принципе, это я и преддполагал :)<br><br><div class="gmail_quote">30 апреля 2010 г. 19:49 пользователь Ruslan Zakirov <span dir="ltr"><<a href="mailto:ruslan.zakirov@gmail.com">ruslan.zakirov@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">2010/4/30 Akzhan Abdulin <<a href="mailto:akzhan.abdulin@gmail.com">akzhan.abdulin@gmail.com</a>>:<br>
<div class="im">> Кстати, вспомнил про объекты-синглтоны. Это объекты, которые обладают<br>
> уникальными свойствами и методами, отсутствующими у других объектов того же<br>
> класса.<br>
<br>
</div>Тут какая-то путаница вышла. Синглетон - это классы с гарантировано<br>
одной сущностью. Еще применяется вариации с фиксированым набором<br>
сущностей, например в зависимости от параметра.<br>
<br>
Отдельное пространство имен объекта и класса - это клево и в перл тоже<br>
делается, но хитро и возможно по этому редко используется.<br>
<br>
Делается это rebless'ом в сгенеренный пакет, то есть если у вас есть<br>
объект класс X и вы хотите добавить метод только этому объекту, то вы<br>
генерите пакет 'X::SPACE_'. refaddr($self), туда сохраняете метод, @{<br>
X::SPACE_'. refaddr($self) }{ISA} = 'X'; и делаете rebless. Немного<br>
отполировать и скорее всего будет вполне приемлимо работать.<br>
<div class="im"><br>
<br>
> Они вполне часто используются в Ruby, но я не знаю аналога в Perl. В Perl<br>
> пакет - это класс, и методы принадлежат пакету, а не объекту.<br>
><br>
> 30 апреля 2010 г. 18:42 пользователь Denis Evdokimov<br>
> <<a href="mailto:evdokimov.denis@gmail.com">evdokimov.denis@gmail.com</a>> написал:<br>
>><br>
>> > К сожалению, сам постулат неверен. До возможностей метапрограммирования<br>
>> > в<br>
>> > Ruby далековато пока.<br>
>> > Ведь само описание класса в Ruby является объектом и уже исполняется, со<br>
>> > всеми вытекающими.<br>
>> Не могу согласиться, в перле, в рантайме можно сделать абсолютно всё,<br>
>> что вообще можно сделать на перле => Всё верно.<br>
>> P.S. Вполне допускаю, что в руби так же можно всё, и возможно, что там<br>
>> что-то удобнее.<br>
>> --<br>
>> Moscow.pm mailing list<br>
>> <a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
><br>
><br>
> --<br>
> Moscow.pm mailing list<br>
> <a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
><br>
><br>
<br>
<br>
<br>
</div><font color="#888888">--<br>
Best regards, Ruslan.<br>
</font><div><div></div><div class="h5">--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></div><br>