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

 

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

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

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

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

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

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

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



Moose::Cookbook::Snack::Keywords(3)  User Contributed Perl Documentation Moose::Cookbook::Snack::Keywords(3)



NAME
       Moose::Cookbook::Snack::Keywords - Restricted "keywords" in Moose

VERSION
       version 2.0205

DESCRIPTION
       Moose exports a number of sugar functions in order to emulate Perl built-in keywords. These can cause
       clashes with other user-defined functions. This document provides a list of those keywords for easy
       reference.

   The 'meta' keyword
       "use Moose" adds a method called "meta" to your class. If this conflicts with a method or function
       you are using, you can rename it, or prevent it from being installed entirely. To do this, pass the
       "-meta_name" option when you "use Moose". For instance:

         # install it under a different name
         use Moose -meta_name => 'moose_meta';

         # don't install it at all
         use Moose -meta_name => undef;

   Moose Keywords
       If you are using Moose or Moose::Role its best to avoid these keywords:

       extends
       with
       has
       before
       after
       around
       super
       override
       inner
       augment
       confess
       blessed

   Moose::Util::TypeConstraints Keywords
       If you are using Moose::Util::TypeConstraints its best to avoid these keywords

       type
       subtype
       class_type
       role_type
       maybe_type
       duck_type
       as
       where
       message
       optimize_as
       inline_as
       coerce
       from
       via
       enum
       find_type_constraint
       register_type_constraint

   Avoiding collisions
       Turning off Moose

       To remove the sugar functions Moose exports just add "no Moose" at the bottom of your code:

         package Thing;
         use Moose;

         # code here

         no Moose;

       This will unexport the sugar functions that Moose originally exported. The same will also work for
       Moose::Role and Moose::Util::TypeConstraints.

       Sub::Exporter features

       Moose, Moose::Role and Moose::Util::TypeConstraints all use Sub::Exporter to handle all their
       exporting needs. This means that all the features that Sub::Exporter provides are also available to
       them.

       For instance, with Sub::Exporter you can rename keywords, like so:

         package LOL::Cat;
         use Moose 'has' => { -as => 'i_can_haz' };

         i_can_haz 'cheeseburger' => (
             is      => 'rw',
             trigger => sub { print "NOM NOM" }
         );

         LOL::Cat->new->cheeseburger('KTHNXBYE');

       See the Sub::Exporter docs for more information.

       namespace::autoclean and namespace::clean

       You can also use namespace::autoclean to clean up your namespace.  This will remove all imported
       functions from your namespace. Note that if you are importing functions that are intended to be used
       as methods (this includes overload, due to internal implementation details), it will remove these as
       well.

       Another option is to use namespace::clean directly, but you must be careful not to remove "meta" when
       doing so:

         package Foo;
         use Moose;
         use namespace::clean -except => 'meta';
         # ...

SEE ALSO
       Moose
       Moose::Role
       Moose::Utils::TypeConstraints
       Sub::Exporter
       namespace::autoclean
       namespace::clean

AUTHOR
       Stevan Little <stevan@iinteractive.com>

COPYRIGHT AND LICENSE
       This software is copyright (c) 2011 by Infinity Interactive, Inc..

       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.12.5                                     2011-09-06              Moose::Cookbook::Snack::Keywords(3)

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

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

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