Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства для  версии 10.9 Mac OS X

Если Вы выполняете различную версию  Mac OS X, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



MooseX::LazyRequire(3)               User Contributed Perl Documentation              MooseX::LazyRequire(3)



NAME
       MooseX::LazyRequire - Required attributes which fail only when trying to use them

SYNOPSIS
           package Foo;

           use Moose;
           use MooseX::LazyRequire;

           has foo => (
               is            => 'ro',
               lazy_required => 1,
           );

           has bar => (
               is      => 'ro',
               builder => '_build_bar',
           );

           sub _build_bar { shift->foo }


           Foo->new(foo => 42); # succeeds, foo and bar will be 42
           Foo->new(bar => 42); # succeeds, bar will be 42
           Foo->new;            # fails, neither foo nor bare were given

DESCRIPTION
       This module adds a "lazy_required" option to Moose attribute declarations.

       The reader methods for all attributes with that option will throw an exception unless a value for the
       attributes was provided earlier by a constructor parameter or through a writer method.

CAVEATS
       Prior to Moose 1.9900, roles didn't have an attribute metaclass, so this module can't easily apply
       its magic to attributes defined in roles. If you want to use "lazy_required" in role attributes,
       you'll have to apply the attribute trait yourself:

           has foo => (
               traits        => ['LazyRequire'],
               is            => 'ro',
               lazy_required => 1,
           );

       With Moose 1.9900, you can use this module in roles just the same way you can in classes.

AUTHORS
          Florian Ragwitz <rafl@debian.org>

          Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE
       This software is copyright (c) 2012 by Florian Ragwitz.

       This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5
       programming language system itself.



perl v5.16.2                                     2012-07-02                           MooseX::LazyRequire(3)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации к проекту Perl. (См. perlbug (1) для инструкций представления.)
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API к Apple через Генератор отчетов Ошибки и к проекту Perl, использующему perlbug (1).
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.