Спасибо, пригодится. В принципе, это я и преддполагал :)
30 апреля 2010 г. 19:49 пользователь Ruslan Zakirov < [email protected]> написал: > 2010/4/30 Akzhan Abdulin <[email protected]>: > > Кстати, вспомнил про объекты-синглтоны. Это объекты, которые обладают > > уникальными свойствами и методами, отсутствующими у других объектов того > же > > класса. > > Тут какая-то путаница вышла. Синглетон - это классы с гарантировано > одной сущностью. Еще применяется вариации с фиксированым набором > сущностей, например в зависимости от параметра. > > Отдельное пространство имен объекта и класса - это клево и в перл тоже > делается, но хитро и возможно по этому редко используется. > > Делается это rebless'ом в сгенеренный пакет, то есть если у вас есть > объект класс X и вы хотите добавить метод только этому объекту, то вы > генерите пакет 'X::SPACE_'. refaddr($self), туда сохраняете метод, @{ > X::SPACE_'. refaddr($self) }{ISA} = 'X'; и делаете rebless. Немного > отполировать и скорее всего будет вполне приемлимо работать. > > > > Они вполне часто используются в Ruby, но я не знаю аналога в Perl. В Perl > > пакет - это класс, и методы принадлежат пакету, а не объекту. > > > > 30 апреля 2010 г. 18:42 пользователь Denis Evdokimov > > <[email protected]> написал: > >> > >> > К сожалению, сам постулат неверен. До возможностей > метапрограммирования > >> > в > >> > Ruby далековато пока. > >> > Ведь само описание класса в Ruby является объектом и уже исполняется, > со > >> > всеми вытекающими. > >> Не могу согласиться, в перле, в рантайме можно сделать абсолютно всё, > >> что вообще можно сделать на перле => Всё верно. > >> P.S. Вполне допускаю, что в руби так же можно всё, и возможно, что там > >> что-то удобнее. > >> -- > >> Moscow.pm mailing list > >> [email protected] | http://moscow.pm.org > > > > > > -- > > Moscow.pm mailing list > > [email protected] | http://moscow.pm.org > > > > > > > > -- > Best regards, Ruslan. > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
