5.2 Funkce v R
V R je funkce objekt jako jakýkoli jiný. To znamená, že
- vytvořenou funkci jde vložit do proměnné
- funkci jde předat jako parametr jiné funkci
- funkci můžeme vytvořit i uvnitř jiné funkce (nested function)
- jedna funkce může vracet jinou funkci jako svou hodnotu
Funkci tvoří tři části:
- interface funkce, tj. argumenty, které funkce bere; v R se to nazývá formals; funkce
formals()
vrátí seznam argumentů funkce - tělo funkce, tj. kód funkce; funkce
body()
vrací kód uvnitř funkce - prostředí (environment) funkce, které zahrnuje proměnné funkce; funkce
environment()
vrací prostředí funkce
Funkce v R mohou mít vedlejší účinky (side effects). Příkladem takové funkce je funkce print()
– místo, aby vracela nějakou hodnotu, vypíše svůj argument nějakým způsobem do konzoly. Je jednodušší a bezpečnější psát čisté funkce bez vedlejších účinků.