A-t-il été construit un quine ("Un programme qui génère une copie de son propre texte source en tant que sa sortie complète" : http://www.nyx.net/~gthompso/quine.htm) en R? (La balise [quine] propose de nombreux exemples en Python, Java, ... mais apparemment aucun en R.)
f <- function() { body() }
s'en approche:
> f()
{
body()
}
mais manque le nom de la fonction.
Qu'en est-il de la possibilité la plus courte? La plus obfusquée?
éditer: de la variété des réponses ci-dessous, il semble qu'il y ait diverses façons de définir l'auto-référentialité et l'environnement dans lequel elle doit se produire:
- dans l'environnement R: fonction
->
fonction (@bill_080) - dans l'environnement OS/shell: programme
->
programme [plus ou moins équivalent à programme->
texte]: (@kohske) - autre: fonction
->
texte (@JoshUlrich, @James, problème tel que défini ci-dessus)
Notes:
- Le thread de R-help souligné par @Spacedman (qui semble mettre l'accent sur l'obfuscation plutôt que la brièveté) suggère que
identical(quine,quine())
est un bon cas de test, même si c'est difficile car les environnements sont transportés :identical(quine,quine(),ignore.environment=TRUE)
pourrait être plus facile. - Un récent (Oct 2015) post de blog fournit une autre réponse ...