Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

В документации на Perl 6 большой раздел посвящен новому синтаксису (не будет ошибкой сказать – новой идеологии) регулярных выражений. Кроме правил (regexps) теперь существуют грамматики (grammars), их объединяющие. Например, ранняя версия компилятора Perl 6, входящая в состав Parrot, при первом запуске создавала файл Perl6grammar.pm, описывающий синтаксис Perl 6, записанный в виде грамматики Perl 6. Подробное рассмотрение новых регулярных выражений требует отдельной статьи.

Классы и роли

Классы и роли – одно из самых существенных нововведений в Perl 6. Формально поддержка ООП была и в Perl 5, но «классы» являлись просто хешами с некоторыми дополнительными возможностями. Механизмы ООП в Perl 6 проще для понимания и образуют намного более стройную модель. Чтобы научиться применять классы, программистам, знакомым с другими объектными языками, достаточно познакомиться с синтаксисом, присущим Perl 6. Для определения класса служит ключевое слово «class»:

# class.p6

class Alphabet

{

}

Объекты класса создаются с помощью оператора new:

my $abc = new Alphabet;

Члены-данные объявляют, используя has. Точка перед именем является признаком того, что переменная объявляется как открытая (public в общепринятой терминологии); отсутствие точки делает ее закрытой (private):

class Alphabet

{

    has $.Name;

    has $Length;

}

my $abc = new Alphabet;

$abc.Name = 'Latin';    # синтаксически верно

#$abc.Length = 26;      # ошибка

При создании объекта возможно инициализировать члены-данные:

my $abc = Alphabet.new(Name => 'Latin', length => 26);

say $abc.Name;

Классы могут содержать методы; они так и объявляются с ключевым словом «method»:

class Alphabet

{

    has $Name;

    has $Length;

    method Info

    {

           return "Aplhabet '$.Name' contains ?

                 $.Length letters.";

    }


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100