Описание тега moose
Moose - это постмодернистская объектная система для Perl 5, которая избавляет от скуки при написании объектно-ориентированного Perl. Он заимствует все лучшее из Perl 6, CLOS (Lisp), Smalltalk, Java, BETA, OCaml, Ruby и других, сохраняя при этом верность своим корням Perl 5.
1
ответ
Используя Moose, как мне установить значение атрибута ro в атрибуте runtime?
У меня есть атрибут атрибута, который я хочу установить на основе других атрибутов класса. Я действительно хочу по умолчанию для Attribute Trait, который получает копию класса $self а не мета для атрибута. Я хочу сделать что-то подобное в своем клас…
16 ноя '10 в 16:36
2
ответа
Как настроить схему DBIx::Class с Moose - конкретное руководство
Мне было довольно сложно найти информацию о том, как собрать DBIx::Class структура схемы с использованием Moose, Как это сделать правильно (по сути работает) и в современном Perl (хороший стиль, быстро, без предупреждений)? Это мои цели: следуй за л…
18 мар '14 в 15:01
1
ответ
Черты лося для многомерных структур данных
Прервать обработку внутренней переменной из вызовов переменной в вызовы объекта легко, используя обработчики Attribute:: Native:: Trait. Тем не менее, как вы справляетесь с несколькими структурами данных? Я не могу придумать какой-либо способ обрабо…
14 июл '11 в 20:20
2
ответа
Как правильно представить миксин / роль / черту с UML?
Я и несколько других разработчиков в настоящее время очищаем нашу унаследованную базу кода, в основном разделяя визуальный слой и слой данных. Чтобы помочь разработчикам, не участвующим в этом рефакторинге, понять модель, я хотел бы представить (дов…
22 апр '10 в 11:17
1
ответ
Класс Moose как тип атрибута?
Есть ли способ ограничить значение атрибута именем класса, которое наследуется от какого-то определенного класса? has thing_class => ( ??? => Some::Base::Class, ); Здесь действительное значение для thing_class должно быть Some::Base::Class или…
04 фев '16 в 00:35
2
ответа
Почему я должен загрузить класс Perl, чтобы использовать его объект, десериализованный из YAML?
Я пытался сериализовать некоторые (Moose) объекты с YAML - просто с помощью YAML Dump() а также Load(), После загрузки сериализованного объекта он не работал, пока я не добавил use оператор с оригинальным именем модуля. Если я не использую use Я не …
27 окт '10 в 12:22
3
ответа
Perl Moose: атрибут устанавливается только когда упоминается в подпрограмме BUILD
У меня есть сценарий, который рекурсивно создает имена подкаталогов / файлов каталога и имена файлов в этих подкаталогах в виде объектов: package Dir; use Moose; use Modern::Perl; use File; use strict; use warnings; has 'path' => (is => 'ro', …
04 фев '17 в 00:52
2
ответа
Каков наилучший способ перегрузки строк на метод доступа атрибута Moose?
У меня есть класс, где я хочу применить перегрузку строки на его id приписывать. Однако Moose не допускает перегрузки строк в средствах доступа к атрибутам. Например: package Foo; use Moose; use overload '""' => \&id, fallback => 1; has 'i…
29 авг '11 в 12:49
1
ответ
Роли и читаемость кода
Улучшение использования ролей (Moo::Role или Role::Tiny или что-то еще) with qw( Some::Role Some::Other::Role ); ... some_roles_method(); просто явно импортировать функцию из класса mixin use Some::Role qw/some_roles_method/; ... some_roles_method()…
12 июл '17 в 16:39
3
ответа
Как мне составить существующую роль Moose в класс во время выполнения?
Скажем, я определяю абстрактные реализации My::Object и конкретной роли My::Object::TypeA и My::Object::TypeB. Из соображений удобства обслуживания я бы не хотел иметь жестко закодированную таблицу, которая бы смотрела на тип объекта и применяла рол…
08 июн '10 в 19:44
1
ответ
Предоставление сахарных * и * объектных методов в роли Moose
Я работаю над ролью Moose, которая позволяет потребляющему классу генерировать XML на основе опции 'xml_path', указанной для одного или нескольких атрибутов, например: package MooseX::Role::EmitsXML::Trait::HasXMLPath; use Moose::Role; has xml_path …
13 авг '15 в 14:50
1
ответ
Как мне получить все аргументы, передаваемые методу с помощью MooseX::Method::Signatures?
Если я использую MooseX::Method::Signatures и я хочу передать все аргументы во второй метод, я должен явно перечислить их снова: method foo (Str :$bar!, Int: :$baz!) { ... return $self->_foo2(bar => $bar, baz => $baz); } Было бы хорошо, есл…
29 май '14 в 18:33
2
ответа
Состав атрибутов класса Perl?
Предположим, у меня есть несколько ролей, каждая из которых определяет набор элементов: package A; use Moose::Role; sub items () { qw/apple orange/ } package B; use Moose::Role; with 'A'; sub items () { qw/watermelon/ } package C; use Moose::Role; s…
31 янв '11 в 11:42
1
ответ
Как использовать Perl Moose с плагинами для основного объекта?
Я новичок в Музе. Я должен создать объект, который должен загрузить несколько плагинов. Структура выглядит так: Главный объект -> некоторые общие функции Плагины -> расширения для основного объекта Плагины находятся в отдельной папке на сервере. Гла…
15 авг '12 в 13:23
1
ответ
Perl Moose добавляет атрибут экземпляра, а не атрибут класса
Мне нужно добавить атрибут в экземпляр класса Moose. В приведенном ниже коде, когда я создаю экземпляр класса Child и добавляю к нему атрибут "app", я обнаруживаю, что этот атрибут также добавляется при создании следующих экземпляров. Что я делаю не…
12 окт '14 в 09:41
2
ответа
Как заставить Moose возвращать экземпляр дочернего класса вместо своего собственного класса для полиморфизма
Я хочу создать универсальный класс, конструктор которого не будет возвращать экземпляр этого универсального класса, а экземпляр выделенного дочернего класса. Поскольку Moose выполняет автоматическое построение объектов, я не понимаю, возможно ли это…
08 июн '10 в 00:25
1
ответ
Perl MooseX::Method::Signatures внедряет пользовательский код во все методы
Я пытаюсь использовать MooseX::Method::Signatures и MooseX::Declare в приложении, мне нужно внедрить пользовательский код в начале каждого метода во время компиляции, а не во время выполнения: вместо этого: use MooseX::Declare; method check ($value)…
22 май '14 в 19:19
0
ответов
Moops lexical_has и значения по умолчанию
Я пытаюсь понять как lexical_has Атрибуты работают в Moops. Эта функция исходит от Lexical::Accessor и, насколько я понимаю, lexical_has функция может генерировать CODE ссылка на любой атрибут class может "лексически иметь" с помощью скалярной ссылк…
19 дек '14 в 02:38
1
ответ
Как обновить мета-информацию унаследованных классов лося?
Я не знаю, правильно ли я задал этот вопрос, но я постараюсь объяснить. У меня есть базовый класс MyClass.pm: use MooseX::Declare; class MyClass { method test_it { for (__PACKAGE__->meta->get_all_methods){ print $_->name . "\n"; } } } И еще…
12 янв '11 в 15:47
1
ответ
Атрибут Moose существует
Я пытаюсь перебрать атрибуты объекта Moose, печатая значение атрибутов, не вызывая ленивых компоновщиков (хотя печатая, если существует значение атрибута). Мой код до сих пор выглядит так: for my $attr ($object->meta->get_all_attributes) { my …
06 фев '14 в 10:59