Спасибо, пригодится. В принципе, это я и преддполагал :)<br><br><div class="gmail_quote">30 апреля 2010 г. 19:49 пользователь Ruslan Zakirov <span dir="ltr">&lt;<a href="mailto:ruslan.zakirov@gmail.com">ruslan.zakirov@gmail.com</a>&gt;</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 &lt;<a href="mailto:akzhan.abdulin@gmail.com">akzhan.abdulin@gmail.com</a>&gt;:<br>
<div class="im">&gt; Кстати, вспомнил про объекты-синглтоны. Это объекты, которые обладают<br>
&gt; уникальными свойствами и методами, отсутствующими у других объектов того же<br>
&gt; класса.<br>
<br>
</div>Тут какая-то путаница вышла. Синглетон - это классы с гарантировано<br>
одной сущностью. Еще применяется вариации с фиксированым набором<br>
сущностей, например в зависимости от параметра.<br>
<br>
Отдельное пространство имен объекта и класса - это клево и в перл тоже<br>
делается, но хитро и возможно по этому редко используется.<br>
<br>
Делается это rebless&#39;ом в сгенеренный пакет, то есть если у вас есть<br>
объект класс X и вы хотите добавить метод только этому объекту, то вы<br>
генерите пакет &#39;X::SPACE_&#39;. refaddr($self), туда сохраняете метод, @{<br>
X::SPACE_&#39;. refaddr($self) }{ISA} = &#39;X&#39;; и делаете rebless. Немного<br>
отполировать и скорее всего будет вполне приемлимо работать.<br>
<div class="im"><br>
<br>
&gt; Они вполне часто используются в Ruby, но я не знаю аналога в Perl. В Perl<br>
&gt; пакет - это класс, и методы принадлежат пакету, а не объекту.<br>
&gt;<br>
&gt; 30 апреля 2010 г. 18:42 пользователь Denis Evdokimov<br>
&gt; &lt;<a href="mailto:evdokimov.denis@gmail.com">evdokimov.denis@gmail.com</a>&gt; написал:<br>
&gt;&gt;<br>
&gt;&gt; &gt; К сожалению, сам постулат неверен. До возможностей метапрограммирования<br>
&gt;&gt; &gt; в<br>
&gt;&gt; &gt; Ruby далековато пока.<br>
&gt;&gt; &gt; Ведь само описание класса в Ruby является объектом и уже исполняется, со<br>
&gt;&gt; &gt; всеми вытекающими.<br>
&gt;&gt; Не могу согласиться, в перле, в рантайме можно сделать абсолютно всё,<br>
&gt;&gt; что вообще можно сделать на перле =&gt; Всё верно.<br>
&gt;&gt; P.S. Вполне допускаю, что в руби так же можно всё, и возможно, что там<br>
&gt;&gt; что-то удобнее.<br>
&gt;&gt; --<br>
&gt;&gt; Moscow.pm mailing list<br>
&gt;&gt; <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>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Moscow.pm mailing list<br>
&gt; <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>
&gt;<br>
&gt;<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>