5.4 Volání funkce
Funkce se volá svým jménem se závorkami, viz výše. Argumenty mohou být funkci předány třemi způsoby:
- jménem, např.
f(a = 1, b = 2)
– v tomto případě nezáleží na pořadí parametrů - pozicí, např. ve funkci
f(a, b)
znamená voláníf(1, 2)
, že \(a=1\) a \(b=2\) - pokud má parametr implicitní hodnotu, je možné jej vynechat – R vezme místo parametru implicitní hodnotu
Při zadání parametru jménem R umožňuje jméno parametru zkrátit, pokud je zkratka jednoznačná. Např. ve funkci f(number, notalk)
je možné první parametr zkrátit na num
i nu
, ovšem ne na n
, protože n
není jednoznačné – R by nevědělo, zda n
znamená number
, nebo notalk
. Zkracování parametrů zjednodušuje interaktivní práci; při psaní skriptů se však výrazně nedoporučuje, protože autor funkce by později mohl přidat další parametr a zkrácené jméno už by nemuselo být jednoznačné.
Předávání parametrů těmito třemi typy jde libovolně míchat, tj. volat některé parametry pozicí, jiné jménem a další (s implicitní hodnotou) vynechat. V takovém případě postupuje R takto:
- vezme parametry volané plným jménem (exact matching) a přiřadí jim hodnoty
- vezme parametry volané zkráceným jménem (partial matching) a přiřadí jim hodnoty
- vezme parametry pozičně
Pokud nechcete mít v kódu zmatek, doporučuji následující: první parametry funkce volat pozicí a jménem volat až parametry za nimi.