Създаване на пакети и модули в Perl, в документацията на компютъра от А до Я
Създаване на пакети и модули в Perl
В тази статия ще обсъдим процеса на създаване на пакети и модули и като пример, да създадете прост модул и пакет.
Intro
Сигурност и модулност - двете велики принципи на програмирането. Perl осигурява ефективността им, като им даде възможност да се раздели на програмата в полуавтономни фрагменти, така че програмистът не трябва да се притеснявате за конфликти между тях и останалата част от програмата. За разделяне на програмата в самостоятелни фрагменти, използвани Perl пакети, които създават непокриващи се от имена (именни пространства). Какво е име на домейн? Тази част от програмата със собствен обхват на глобална идентичност - с други думи, тя функционира като частна площ от програмиста.
В действителност, в Perl, че няма такова нещо като "обхвата на глобалните идентификатори" - всяка такава зона се ограничава до определен пакет. Създаване на пакет, вие ще получите някаква увереност, че кодът не се смесва с променливите и практики на друг фрагмент. Тя ви позволява да организирате код, предназначен за многократна употреба, под формата на пакети.
В допълнение, има пакети и Perl модули. Moudli - са пакети, организирани по специален начин. Те могат да се качват и се интегрира с дадена програма. В тази статия ще говорим за създаването на модули и пакети.
пакети
Пакетът може да бъде представена като единична Delphi. Кодът, който е поставен в опаковката, може да бъде поставен във външен файл, множество файлове, въпреки че някои пакети могат да бъдат поставени в един файл (което не е възможно в yunite Делфийския). Превключвате между различните блокове в рамките на файла, който искате с помощта на пакет команди. Да се създаде проста пакет и да го запишете като package1.pl:
Обърнете внимание на рутинното subroutine1. Тя може да се нарече в кода, който използва пакета. В допълнение, трябва да се обърне внимание на екипа на връщане, разположен извън всякакви подпрограми - тя се връща "вярно", след като изтеглите пакета, показвайки по този начин, че пакетът е готов за работа (в действителност, се връща последната стойност, изчислена в организма пакет, така че често вместо връщане на линия 1 просто поставя устройството).
За да използвате този софтуер, кодът трябва да се постави в сценария изисква:
изисква "package1.pl";
Сега можете да се обърнете към идентификатори package1 пакет, отделяне на името на документа за самоличност с две колони "::". По-рано, като сепаратор е апостроф (да се внимава, тъй като сепаратор се използва сега). Но сега трябва да бъде Perl C ++ стил и употреба "::". Ето един пример на package1 пакет подпрограма разговор subroutine1:
изисква "package1.pl";
package1 :: subroutine1 ();
надписа "Hello!" ще се появи в резултат на тази програма. Можете също така да постави в пакети други идентификатори, като променлива:
пакет package1;
ЗАПОЧНЕТЕ <>
$ Var1 = 1;
под subroutine1
върне 1;
END <>
Използвайте тази променлива лесно. Достатъчно е да се замени "$" символа преди структурата на повикване. например:
изисква "package1.pl";
$ Package1 :: var1;
Имайте предвид, че символът "$" се поставя преди името на пакета, но не и за поста. в предната част на var1. Въпреки това, по този начин не е възможно да се стигне до описаните променливи с ключовата дума, ми: те имат лексикален обхват и е достъпно само в рамките на модула.
Когато се говори за идентификаторите може да се пропусне името на пакета, а след основния пакет ще бъде използван (низ $ var1 :: еквивалентно на $ главен: var1).
Ако програмата се нуждае от доста често се отнасят до номерата на пакетите, кодът става голям и труден за разбиране. За да се реши този проблем е необходимо да използвате модулите. При използване на модула, можете да експортирате наименованията, изброени в модула в текущото пространство от имена. модули
Модули - това опаковката, проектиран в отделни файлове, чиито имена съвпадат миналата имената на модулите и имат разширение часа. Perl По силата на споразумението се посочва, че името на модула започва с главна буква. Кодът се съдържа в модул, за разлика от "партида" кодът може да изнася световни имена в настоящия обхват на глобалните имена. Това означава, че когато става дума за ID не е необходимо да укажете името на пакета.
Помислете за пример. Създаване на модул, наречен module1 и Спасете Module1.pm в досието му. В кода ЗАПОЧНЕТЕ подпрограма се изпълнява, когато модулът е заредена, ние ще използваме стандарта износител модул, който ще бъде изнесен име subroutine1 на подпрограмата:
пакет module1;
Започне употреба Износител ();
@ISA = "Износител";
@EXPORT = "subroutine1";
>
под subroutine1
return1;
END <>
За да използвате модула в програмата, трябва да го свържете с "използване" команда (той ще бъде включен по време на компилация). Ако се свържете модула изисква екип от модула е свързан по време на изпълнение на скрипта. например:
използва module1;
subroutine1 ();
В "Здравей!" Линия ще покаже резултатите от изпълнението на код.