Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilMiloš Pokorný
1
Balíky Hlavní balík - main - zatím jsme s jiným nepracovali Rozdělují tzv. namespaces = množiny jmen pro proměnné $lemma = "cukr"; znamená $main::lemma = "cukr"; $Potraviny::lemma = "cukr"; # jiná proměnná use strict => nutné používat globální proměnné celým jménem
2
Package Celá jména se nemusí používat, když nastavíme balík: Příkaz package - nastavení implicitního balíku Platí –do konce bloku, ve kterém byl zaveden, –nebo dokud se nezavede nový. package Potraviny; $lemma = "cukr"; # znamená, $Potraviny::lemma
3
Moduly balíčky pro vícenásobné použití rozdělení podle tématu - logicky ucelený –proměnné –datové struktury –podprogramy šetří čas spousta předpřipravených CPAN - Comprehensive Perl Archive Network
4
Použití uložení v jednom souboru, který se vkládá do programu jméno souboru = jméno modulu s příponou.pm –zvyk - 1. písmeno velké vložení modulu do programu use –použití před začátkem programu, ať se zapíše kdekoli use Modul;
5
Hledání modulu - pole @INC Seznam cest, kde Perl hledá moduly a ostatní soubory Cestu nelze přidat jednoduše push (@INC, ~/MojeModuly); use Morfo; protože 1. příkaz se provádí při běhu, druhý už při kompilaci Tedy takto: use lib "~/MojeModuly"; use Morfo;
6
Vytvoření modulu Modul může obsahovat podprogramy –veřejné - nabízejí se k použití uživateli –soukromé - skryté před uživatelem, vlastně pomocné package Morfo; use Exporter; @ISA = qw(Exporter); @EXPORT = qw(radka vypis); # podprogramy k dispozici # teď přijde obsah podprogramů radka, vypis a možná i dalších
7
sub radka # parametry: prectena radka # vystup: odkaz na strukturu slovo { my $line = shift(@_); chomp $line; my @info = $line =~ m/^[^>]+>([^ ([^ (.+)/; my $slovo = {"slovo" => $info[0], "lemma" => $info[1], "tag" => $info[2]}; return $slovo; }
8
Moduly podle témat Pomocí dvojité dvojtečky :: Rozdělení do adresářů –Adresář MojeModuly, v něm soubor Morfo.pm obsahující modul Morfo. use lib "~/MojeModuly"; use MojeModuly::Morfo;
9
@EXPORT a @EXPORT_OK @EXPORT - pole, do kterého se ukládají identifikátory (podprogramy, proměnné), které se automaticky importují do programu, kde se používá modul (příkaz use). @EXPORT_OK - totéž jako pole @EXPORT, ale v programu musí být explicitně uvedeno, které identifikátory se mají importovat. Pole @EXPORT se v tom případě ignoruje use MojeModuly::Morfo qw(radka);
10
Pragma speciální druh modulu ve standardní distribuci Perlu nepřidává nové konstrukce, ale ovlivňuje chování programu některé už známe: –use locale –use strict –use lib
11
CPAN http://search.cpan.org/ rozdělené tematicky vyhledávání instalace - jen root dokumentace - popis použití
12
Příklady modulů z CPAN Env –zpřístupňuje proměnné prostředí - globální proměnné se stejným názvem, např. $HOME, $PATH. Term::ReadKey –funkce ReadKey umožňuje číst ze standardního vstupu jednotlivý znak, není třeba použít Enter. Getopt::Std –funkce getopts rozeznává volby od parametrů
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.