CommencerCommencer gratuitement

Fonctions génériques primitives

Une partie des fonctionnalités de base de R est définie à l’aide de fonctions primitives, qui utilisent une technique spéciale pour accéder au code C, pour des raisons de performance. Des exemples de fonctions primitives incluent des éléments du langage, comme if et for, des opérateurs comme + et $, ainsi que des fonctions mathématiques comme exp et sin. Les fonctions primitives comprennent des génériques S3 ; la liste complète des génériques primitifs S3 peut être obtenue avec .S3PrimitiveGenerics (docs).

Lorsqu’un générique S3 est primitif, son processus de recherche des méthodes fonctionne légèrement différemment. R recherchera des méthodes en utilisant class (docs), comme d’habitude, mais si rien n’est trouvé, la fonction interne en code C sera appelée. (À comparer aux génériques « classiques », où une erreur est levée si aucune méthode n’est trouvée.) Cela signifie que si vous remplacez la classe d’un objet, des comportements fondamentaux comme le calcul de la longueur ne seront pas cassés.

Cet exercice fait partie du cours

Programmation orientée objet avec S3 et R6 en R

Afficher le cours

Instructions

Un objet liste, dont la classe a été remplacée par "hairstylist", a été assigné dans votre espace de travail à la variable hair.

  • Affichez la structure de hair avec str() (docs).
  • Listez tous les génériques primitifs S3 connus de R.
  • Utilisez la fonction exists() (docs) pour vérifier qu’aucune fonction nommée length.hairstylist n’existe. Notez que cette fonction prend une entrée de type caractère.
  • Calculez la length() (docs) de la variable hair.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# View the structure of hair
___

# What primitive generics are available?
___

# Does length.hairstylist exist?
___

# What is the length of hair?
___
Modifier et exécuter le code