Primitivní generické funkce
Část základní funkcionality R je definována pomocí primitivních funkcí, které využívají speciální techniku přístupu k C-kódu kvůli výkonu. Mezi primitivní funkce patří jazykové prvky jako if a for, operátory jako + a $ nebo matematické funkce jako exp a sin. Primitivní funkce zahrnují i S3 generiky; úplný seznam primitivních S3 generik najdeš pomocí .S3PrimitiveGenerics (docs).
Když je S3 generická funkce primitivní, vyhledávání metod funguje trochu jinak. R hledá metody pomocí class (docs) jako obvykle, ale pokud nic nenajde, zavolá interní C-kódovou funkci. (Na rozdíl od běžných generik, kde se při nenalezení metody vyhodí chyba.) Díky tomu přepsání třídy objektu nezpůsobí, že základní operace jako výpočet délky přestanou fungovat.
Toto cvičení je součástí kurzu
Objektově orientované programování s S3 a R6 v R
Pokyny k cvičení
V pracovním prostředí máš přiřazenou proměnnou hair — jde o objekt typu seznam, jehož třída byla přepsána na "hairstylist".
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# View the structure of hair
___
# What primitive generics are available?
___
# Does length.hairstylist exist?
___
# What is the length of hair?
___