On Wed, 25 Feb 2009, Gustaf Rydevik wrote:

On Wed, Feb 25, 2009 at 3:30 PM, hadley wickham <h.wick...@gmail.com> wrote:
And for completeness here's a function that returns the next integer
on each call.

n <- (function(){
 i <- 0
 function() {
   i <<- i + 1
   i
 }
})()

n()
[1] 1
n()
[1] 2
n()
[1] 3
n()
[1] 4
n()
[1] 5
n()
[1] 6


;)

Hadley



*headache*!
I can't wrap my head around this one - too strange code!
Could someone please give a hint on what's going on?
How does"i<<- i+1" modify i permanently, seeing as i is defined as 0
to start with?


i is not _defined_ as zero. It is initially _assigned_ the value of zero and is subsequently assigned other values.

As for the details of what goes here, see

        An Introduction to R
        Section 10.7 Scope

and study the open.acount()  example there.

HTH,

Chuck


/Gustaf

--
Gustaf Rydevik, M.Sci.
tel: +46(0)703 051 451
address:Essingetorget 40,112 66 Stockholm, SE
skype:gustaf_rydevik

______________________________________________
R-help@r-project.org mailing list
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.


Charles C. Berry                            (858) 534-2098
                                            Dept of Family/Preventive Medicine
E mailto:cbe...@tajo.ucsd.edu               UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to