On 19/02/12 08:40, Frank Schwidom wrote:
How can i file this isssue as an bugreport?
Please don't. Peter has just explained to you that this is not a bug,
it's a "feature". You need to amend your understanding of this,
feature; R does not need to be amended.
cheers,
Rolf Turner
On Fri, Feb 03, 2012 at 02:01:02PM +0100, peter dalgaard wrote:
On Feb 2, 2012, at 21:24 , Frank Schwidom wrote:
Hi,
the following Code demonstrates an possibly Error in R
(or you can explain me, why this happens, thanks in advance)
Looks like an effect of lazy evaluation: The value of i is not evaluated until
after the loop has ended, at which point it will be 2. This is a feature, not
an error, even if it confuses people at times...
-pd
Code:
#####################################
testClass<- function( stackData= c())
{
list(
write= function( ...)
{
sChain= ""
for( s in c( stackData, ...))
{
sChain= paste( sChain, '"', sub( '"', '\\\\"', s), '"', sep, sep='')
}
write( sChain, fHandle, append=TRUE)
},
stackIt1 = function( ...)
{
testClass( stackData= c( stackData, ...))
},
stackIt2 = function( ...)
{
tmp= c( stackData, ...)
testClass( stackData= tmp)
},
getStack = function()
{
stackData
},
NULL
)
}
to1= testClass()
for( i in 4:2)
{
to1= to1$stackIt1( i)
}
print( all( rep( 2, 3) == to1$getStack())) # error!
to2= testClass()
for( i in 4:2)
{
to2= to2$stackIt2( i)
}
print( all( 4:2 == to2$getStack())) # correct!
# what ist the difference between stackIt1 and stackIt2?
# (error appears only by using an for loop)
"
version
_
platform i486-pc-linux-gnu
arch i486
os linux-gnu
system i486, linux-gnu
status
major 2
minor 12.1
year 2010
month 12
day 16
svn rev 53855
language R
version.string R version 2.12.1 (2010-12-16)
Regards
"
##################################### End of Code
written in an R-File and called per source( '<Fname>.R')
shows 2 subsequent outputs of 'TRUE', which is not ok
in my mind
Thanks for your attention.
______________________________________________
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.