2012-05-10 13 views
23

Mi scuso perché so che questa risposta è probabile nei manuali per scrivere un pacchetto R ma nella mia lettura e guardando i campi Collate di altri pacchetti non riesco a capire al 100% a cosa serve questo campo . In un linguaggio semplice (il mio è inglese) che cosa fa il campo Fascicola nel file di descrizione di un pacchetto? Cosa vorrebbe mettere lì?Fascicola campo nel pacchetto Descrizione

risposta

22

Penso che provenga da un momento e una situazione in cui l'ordine in cui sono stati originati i file nella directory R/ (in contrapposizione al valore di default lessicografico) era ancora importante. Un motivo simile per cui la funzione .onLoad() si trova spesso in un file denominato zzz.R.

Per quello che vale, nessuno dei miei pacchetti utilizza il campo "Fascicola:" nella DESCRIZIONE.

Edit: E mentre noi siamo appassionati di misure empiriche, ecco un breve grep su una macchina con tutte le fonti CRAN:

$ grep ^Collate */DESCRIPTION | wc -l 
292 
$ ls -1 */DESCRIPTION | wc -l 
3779 

Quindi questo è il 7,7% di tutti i pacchetti. Non mi preoccuperei di questo a meno che tu non sia lo davvero.

+0

Grazie mille, è utile. –

+8

Circa il 30% dei pacchetti di Bioconductor ha un campo Fascicola. Non è sicuro che "da un momento" lasci l'impressione corretta, si organizza ancora il codice nei file e l'ordine in cui i file sono fascicolati conta. Ad esempio, i metodi S4 devono essere definiti dopo i generici e le classi devono essere definite prima dei metodi che li usano o delle classi che li contengono. La perversione dell'ordinamento lessicografico nelle localizzazioni non C fa attenzione a fare affidamento su un ordine di collazione automatico (forse R collaziona i file in un locale C? Troppo sottile per me). –

+0

Hah - Ho quasi aggiunto che potrebbe avere qualcosa a che fare con le classi S4 (che in genere non uso ancora così tanto ...) Ma anche allora naturalmente si possono avere classi, generici, metodi in quell'ordine in lo stesso file che facciamo in Rcpp. Quindi Collate: rimane un'opzione utile se usata raramente, e a Tyler non mancava nulla di essenziale. –

Problemi correlati