[Rd] Surpising behavior when using an active binding as loop index in R 4.0.0

Thomas Friedrichsmeier thom@@@|r|edr|ch@me|er @end|ng |rom ruhr-un|-bochum@de
Sat May 23 14:07:26 CEST 2020


Possibly just a symptom of the earlier behavior, but I'll amend my
example, below, with an even more disturbing observation:

Am Sat, 23 May 2020 13:19:24 +0200
schrieb Thomas Friedrichsmeier via R-devel <r-devel using r-project.org>:
[...]
> Consider the code below:
> 
> makeActiveBinding("i", 
> 	function(value) {
> 		if (missing(value)) {
> 			x
> 	} else {
> 		print("set")
> 		x <<- value
> 	}
> 	}, globalenv())
> 
> i <- 1     # output "set"
> print(i)   # output [1] 1
> 
> # Surprising behavior starts here:
> for(i in 2:3) print(i) # output [1] "set"
>                        #        NULL
>                        #        NULL
> 
> print(i)               # output NULL
> print(x)               # output NULL
> 
> i <- 4                 # output "set"
> print(i)               # ouput [1] 4
> print(x)               # ouput [1] 4

ls()
# Error in ls() : 
#  Value of SET_STRING_ELT() must be a 'CHARSXP' not a 'NULL'

Regards
Thomas

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: Digitale Signatur von OpenPGP
URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20200523/b67df0e4/attachment.sig>


More information about the R-devel mailing list