[R] "function" as variable name - probably better error message

Duncan Murdoch murdoch.duncan at gmail.com
Thu Apr 16 13:38:27 CEST 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 16/04/2015 6:19 AM, Rainer M Krug wrote:
> Hi
> 
> The following code works as expected:
> 
> 
> list(plot="Not any more!")
> 
> ,---- | > plot <- "Not any more!") | [1] "Not any more!" `----
> 
> But for this I get an error:
> 
> ,---- | > function <- "Not any more!" | Error: unexpected
> assignment in "function <-" `----
> 
> The error message is quite cryptic and does not help much further.
> Would it be possible to provide a more useful error message in this
> case that (presumably) "function" is a reserved word?
> 
> Along the same lines - is there a list of reserved words which can
> not be used in R as variable names (not even as elements in a a
> list())?

The R Language Definition lists the reserved words (see section
10.3.3).  It oversimplifies things, saying they can't be used as
variable names, when in fact almost any string can be used with proper
quoting.  For example, both of these work:

"function" <- "Not any more!"
`function` <- "Not any more!"

Duncan Murdoch

> 
> This is not a huge problem, but it cost me a few minutes of
> figuring out.
> 
> Thanks,
> 
> Rainer
> 
> 
> 
> ______________________________________________ R-help at r-project.org
> mailing list -- To UNSUBSCRIBE and more, see 
> https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the
> posting guide http://www.R-project.org/posting-guide.html and
> provide commented, minimal, self-contained, reproducible code.
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJVL58yAAoJEHE2Kz23YMZyyv0H/jKjwwkQ1v7jIRsZ9hxcJECU
HHHuAEusv+pgJTybdxn66XykCXQOgaLmGPGksK+CcJrBgLW2WgAh4C0CUpN36DPn
TOYpos9i3wZ8k0Idr8xiEeQ/PcD0pkMEwd6oYY0lL2Ikribu8maVKxcoYvjNIJOE
3E3qrrpZfH9U2a9ws9jxJk8O3n+OQ7x8GQqUNTQHthd5McHZ63F7uIEBH/tHT7Tn
x3gXAFbuSBJ6TtqaOZdPYFh3tV7CNyvJOso8yreSWK+0ZksXGKBtqElDJM0atrAj
bOwEAJe6gGrEPx92NUWkTWeILDa6v96WZzprwLDi+cwt7jItILFligaXlookbf0=
=vKWN
-----END PGP SIGNATURE-----



More information about the R-help mailing list