|
Модераторы: korob2001, ginnie |
|
noize |
|
||||
5.18.2 Профиль Группа: Участник Сообщений: 89 Регистрация: 10.7.2010 Где: СПб Репутация: 3 Всего: 3 |
Здравствуйте.
Занялся изучением Moose. Почитал пару статей в интернете, в голове картина в целом сформировалась. Взял пару примеров, подправил их на свой лад и вдруг обнаружил, что в аттрибуте с is => 'ro' я всё-равно могу поменять значение аттрибута. Пример: модуль MyMoo1.pm
и скрипт use_moo.pl
Скрипт use_moo.pl печатает значение 123, хотя в моём понимании Moose должен был ругнуться при попытке поменять значение аттрибута с аксессором ro. Или я что-то неправильно понял? |
||||
|
|||||
DurRandir |
|
|||
Опытный Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 14 Всего: 17 |
Вы не можете менять только значение самого атрибута, т.е. $self->attr({}) предсказуемо выдаст ошибку. По логике, у вас вместо простого хэша должны быть так же объекты с readonly полями name и phone. И вот тогда их изменить не удастся.
|
|||
|
||||
noize |
|
|||
5.18.2 Профиль Группа: Участник Сообщений: 89 Регистрация: 10.7.2010 Где: СПб Репутация: 3 Всего: 3 |
Т.е. аксессор относится только к внутренним параметрам аттрибута(isa, default, clearer, etc), но не влияет, на те значения, которые я сохраняю в аттрибуте?
UPD: проверил, действительно, так и есть. Спасибо за объяснение, стало чуточку понятней. Это сообщение отредактировал(а) noize - 15.4.2013, 23:32 |
|||
|
||||
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |