[R] Some Programming Humor - Quine
Wolfgang Koller
koller at isis.wu-wien.ac.at
Thu May 15 14:43:00 CEST 2003
At 13:17 15.05.03 +0100, Prof Brian Ripley wrote:
>On Thu, 15 May 2003, Wolfgang Koller wrote:
>
>> By the way, some questions that arose in this programming exercise:
>> a) is there a simpler way to do the assignment
>> STR <- "\""
>> without using quotes?
>
>Not simpler, but '"' is probably easier to read.
This version still uses a quote --- the one in the middle. With "simpler" I
meant in comparison with the version I used in quine()-code, which is
admittedly ugly and depends on the source code of paste(), but does not use
quotes (nor double quotes or whatever ' and " are correctly named in English):
STR <- substr(deparse(paste)[1],start=24,stop=24)
Maybe something analogous to letters[] would be a nice additional feature
in R? I have needed something like that on several occasions before.
>
>> b) what does this cryptic <environment: 034768AC> (or similar) mean that
>> does appear after the return value of quine() but not after the result of
>> quine?
>
>All R functions have environments. This is not printed when the function
>is printed if and only if the environment is the user's workspace.
>The number is a Hex address of the environment, and you will see it when
>functions are defined or generated inside functions.
>
>> c) is there a better way to check if two functions are identical than the
>> way suggested above?
>
>?identical
so my quine-version seems not to pass this test:
> identical(quine,quine())
[1] FALSE
> identical(quine(),quine()())
[1] FALSE
>
has this to do with the environment somehow being part of the function? I
dont quite understand, since quine(), quine()(), quine()()() all look quite
identical to me, save the information about the environment that is added
after the return value.
Wolfgang
-------------------------------------------------
Wolfgang Koller, wolfgang.koller at wu-wien.ac.at
Forschungsinstitut für Europafragen
Wirtschaftsuniversität Wien
Althanstraße 39-45, 1090 Vienna, Austria
Tel: ++43/1/31336/4147 Fax: ++43/1/31336/758
http://fgr.wu-wien.ac.at/institut/ef/ief-home.htm
More information about the R-help
mailing list