Я знаю, что хотя внутреннее представление объекта Moose (по праву) оставлено неопределенным.Однако почти во всех случаях это будет простой благословенный хэшреф.В ситуации, когда создается новый объект, который может быть вызван унаследованным кодом, который ожидает доступа к атрибутам объекта, извлекая его из благословенного хеша ($object->{attribute}
), а не инкапсулирует в объект с помощью вызова метода ($object->attribute()
), есть ли способ явно определить, что объект должен быть сохранен как благословенный хэш-индекс, чтобы атрибуты работали должным образом?
Еще лучше, есть ли какие-нибудь модули, которые разъединяют благословенный объект, являющийсяобошли объект от внутреннего представления?Кажется, что можно было бы передать связанный хеш, который мог бы связать определенные ключи хеш-функции в вызовы методов для экземпляра метаобъекта, поэтому вся проверка типов по-прежнему выполняется, даже если какой-то старый код вызывает объект как $object->{attribute} = 'blahblah'
.