Кто-нибудь построил quine ( "Программа, которая генерирует копию собственного исходного текста в качестве своего полного вывода": http://www.nyx.net/~gthompso/quine.htm) в R? (Тег [quine] вытаскивает множество примеров в Python, Java,... но, по-видимому, ни один в R.)
f <- function() { body() }
близок:
> f()
{
body()
}
но не имеет имени функции.
Как насчет кратчайшей возможности? Большинство запутанных?
edit: из множества ответов ниже, кажется, что существует множество способов определить самореференцию и среду, в которой она должна произойти:
- в среде R: функция
->
(@bill_080) - в среде OS/shell: программа
->
[более или менее эквивалентна программе->
text]: (@kohske) - other: function
->
text (@JoshUlrich, @James, проблема, как определено выше)
Примечания:
- поток из R-справки, отмеченный @Spacedman (который, кажется, подчеркивает обфускацию по краткости) предполагает, что
identical(quine,quine())
является хороший тестовый пример, хотя это сложно, потому что окружающая среда переносится вдоль:identical(quine,quine(),ignore.environment=TRUE)
может быть проще. - Последнее сообщение (октябрь 2015 г.) сообщение в блоге дает другой ответ...