|
||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
Software (10844)
|
Perl (7) - Funkce IIIV tomto díle si doplníme zbývající informace o funkcích a jestě další skutečnosti o práci se
skalárními daty.
Začneme takovým, v minulých dílech slibovaným, referenčním přehledem základních funkcí, které využijeme při práci se skalárními daty. Nejprve funkce pro práci s čísly: abs()
Vrací absolutní hodnotu argumentu (nebo proměnné atan2()Vrací arkustangens v intervalu od Pí do Pí. sin()Vrací sinus hodnoty argumentu vyjádřený v radiánech. cos()Funkce, která vrací kosinus argumentu v radiánech. exp()Vrací základ přirozených algoritmů (logaritmus o základu e), který je umocněný na určité číslo. hex()Jako argument přijme číslo v hexadecimálním tvaru (tzn. v šestnáctkové číselné soustavě) a vrací číslo v soustavě desítkové. int()Tato funkce vrací z čísla část, která je integer - vlastně to znamená, že se z čísla odtrhne desetinná část (i když lze zadat např. zlomek).
$var = 57/7; # v promenne $var je hodnota 8.14285714285714 log()Vrací logaritmus o základu e argumentu. oct()Jako argument přijme číslo v oktalovém tvaru a vrátí číslo ve desítkovém tvaru. rand()Vrátí pseudo-náhodné číslo mezi 0 a hodnotou argumentu. Pokud argument není funkci zadán, tak je pseudo-náhodné číslo vybráno z intervalu od 0 (včetně) do 1 (ne včetně). srand()
Nastaví "náhodnou hodnotu" pro generování pseudo-náhodných čísel funkcí sqrt()Vrací odmocninu z argumentu - argument by neměl být záporný. A nyní přikročíme k funkcím, které využijeme při práci s textovými řetězci. chop()Funkce odřízne ze zadaného řetězce znak konce řádku a vrátí řetězec bez těchto znaků. chomp()Odřízne znak nového řádku pouze z konce tohoto řetězce. chr()Vrací znak vyjádřený určitým číslem v tabulce ASCII. crypt()
Zašifruje řetězec podle unixové funkce lc()Převede všechna velká písmena na malá ze zadaného řetězce. uc()Převede všechna malá písmena na velká ze zadaného řetězce. lcfirst()Vrací řetězec, kde je zmenšený pouze první znak. ucfirstVrací řetězec, kde je zvětšený pouze první znak. lenght()Vrátí délku řetězce v bajtech. ord()Funkce vrátí číselnou hodnotu podle ASCII tabulky prvního znaku v zadaném řetězci. substr()Vrací jakýsi podřetězec ze zadaného řetězce jakožto prvního argumentu (pozn. podřetězec se může rovnat řetězci asi jako podprostory v algebře). Druhý argument je offset, na jakém znaku řetězce bude podřetězec začínat. Pokud je offset záporný, počítáme začínající znak od konce řetězce. A posledním argumentem je délka podřetězce. Pokud tento argument chybí, tak podřetězec bude obsahovat znaky od offsetu do konce řetězce.
print substr(JosefKadlec, 0, 5); # vypíše řetězec "Josef" printf()
Vypíše zformátovaný řetězec do tzv. filehandelu (STDOUT, STDIN, apod.). Pokud tento parametr není
zadán, tak se řetězec implicitně vypíše na STDOUT. Používá se spíše ve speciálních případech (většinou pro formátování čísel), ale zase ji nelze použít všude a v těchto případech je potřeba sáhnout po funkci
printf("%.3f", $var);
Pokud bychom například chtěli úplně odříznout z proměnné
printf("%d", $var);
Obecný zápis formátu, který funkce
c - znak Jsou to vlastně formátovací kódy převzaté z jazyka C. Pokud byste potřebovali některé další informace o těchto kódech, najdete je v manuálové stránce perfunc ( Samozřejmě lze s jedním voláním funkce
printf("Prvni hodnota: %d a druha hodnota: %d", $var1, $var2);
sprintf()
Funkce vrací formátovaný řetězec podle konvence funkce V závěru si doplníme nějaké informace k operátorům. Nezmínili jsme totiž ještě velmi důležité logické (nebo také booleanovské) operátory, které své operandy vyhodnocují podle logických pravidel. Tyto operátory známe prakticky tři a to AND, OR a NOT a jejich znakové ekvivalenty && pro AND, || pro OR a ! pro NOT. Platí tedy, že:
Dále existují tzv. bitové operátory <<, >>, &, | a logická bitová funkce XOR (xor a ^), které se
však obecně příliš nepoužívají. Bližší informace o nich naleznete v manuálové stránce perlop -
|
Search Software
Search Google
|
||||||||||||||||||||||||||||||||||||||||||||||
©Pavel Kysilka - 2003-2024 | maillinuxsoft.cz | Design: www.megadesign.cz |