Domanda

Qual è il paradigma di programmazione di r (r come in gnu s)?

Mi credo con familiarità con i linguaggi di programmazione di diversi paradigmi concettuali (hanno programmato in C ++, Java, Prolog e alcune altre lingue) ma anche se scrivo già i miei piccoli script r, non sono sicuro di quale paradigma deve rappresentare.

È stato utile?

Soluzione

R supporta una miscela di paradigmi di programmazione orientati agli oggetti e funzionali.

Sul lato funzionale:

    .
  • ha funzioni di prima classe
  • ha una valutazione pigra di argomenti
  • incoraggia le funzioni libere pure e con effetti collaterali

ma

    .
  • non implementa la recupero delle call della coda
  • ed è facile creare funzioni non pure

sul lato orientato all'oggetto:

    .
  • ha tre incorporati in paradigmi OO: S3 e S4, che sono immutabili e supportano la funzione Generico Stile Generico OO e le classi di riferimento (AKA R5) che sono mutevoli e supportano lo stile più comune di passaggio del messaggio OO.

  • s4 è pesantemente influenzato dallo stile OO del comune comune (clos) e dalliano.

  • Ci sono anche un numero di pacchetti forniti che forniscono altri tipi di oo: proto, mutatr, R.oo, OOP.

ma

    .
  • Gli strumenti OO integrati offrono poco nel modo di zucchero sintattico.

Altri suggerimenti

Secondo wikipedia (enfasi aggiunta),

.

R supporta Programmazione procedurale con funzioni e Programmazione orientata agli oggetti con funzioni generiche.Una funzione generica agisce in modo diverso a seconda del tipo di argomenti che è passato.In altre parole la funzione generica riconosce il tipo di oggetto e seleziona (inviati) la funzione (metodo) specifica per quel tipo di oggetto.Ad esempio, R ha una funzione di stampa generica () che può stampare quasi ogni tipo di oggetto in R con una semplice sintassi "Stampa (ObjectName)".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top