Comece agoraComece grátis

Funções Genéricas Primitivas

Parte das funcionalidades centrais do R é definida usando funções primitivas, que utilizam uma técnica especial para acessar código C, por questões de desempenho. Exemplos de funções primitivas incluem elementos da linguagem, como if e for, operadores como + e $, e funções matemáticas como exp e sin. Funções primitivas incluem genéricas S3; a lista completa de genéricas primitivas S3 pode ser encontrada usando .S3PrimitiveGenerics (docs).

Quando uma genérica S3 é primitiva, seu processo de busca por métodos funciona de forma um pouco diferente. O R vai procurar por métodos usando class (docs), como de costume, mas se nada for encontrado, a função interna em C será chamada. (Compare isso com genéricas regulares, onde um erro é gerado se nenhum método for encontrado.) Isso significa que, se você sobrescrever a classe de um objeto, comportamentos fundamentais, como calcular o comprimento, não serão quebrados.

Este exercicio faz parte do curso

Programação Orientada a Objetos com S3 e R6 em R

Ver curso

Instruções do exercicio

Um objeto lista, com a classe sobrescrita para "hairstylist", foi atribuído ao seu workspace na variável hair.

  • Veja a estrutura de hair com str() (docs).
  • Liste todas as genéricas primitivas S3 que o R conhece.
  • Use a função exists() (docs) para verificar que não existe nenhuma função chamada length.hairstylist. Observe que essa função recebe uma entrada do tipo caractere.
  • Calcule o length() (docs) da variável hair.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# View the structure of hair
___

# What primitive generics are available?
___

# Does length.hairstylist exist?
___

# What is the length of hair?
___
Editar e Executar Código