Hello, I've noticed the following error using repeat{} / break in R 3.4.1
running on Windows 10 and Windows Server 2008 (both 64-bit environments).
When running a repeat function, the break command causes an error message if
the repeat command refers to code within a file, but does not produce an error
if the code is contained within the repeat{} command.
For example, the following code runs fine:
x <- 1
y <- 5
repeat {
if(x < y) {
print("No Break Dance :-(")
x = x + 1
} else {
print("Break Dance!")
break
}
}
[1] "No Break Dance :("
[1] "No Break Dance :("
[1] "No Break Dance :("
[1] "No Break Dance :("
[1] "No Break Dance :("
[1] "Break Dance!"
>
However, if I take the loop contents of the repeat{} function, and save them to
a file (breakTest.R) that contains the following:
if(x < y) {
print("No Break Dance :-(")
x = x + 1
} else {
print("Break Dance!")
break
}
And then run the following code:
x <- 1
y <- 5
repeat{
source("./breakTest.R")
}
I get the following error:
[1] "No Break Dance :("
[1] "No Break Dance :("
[1] "No Break Dance :("
[1] "No Break Dance :("
[1] "No Break Dance :("
[1] "Break Dance!"
Error in eval(ei, envir) : no loop for break/next, jumping to top level
>
This was not an issue with previous versions of R that I have used, including
3.3.3.
Any suggestions? Is this a known bug with 3.4.1?
Cheers-
Peter
----------------------------------------------------------------
peter bosa
metro
modeling services
600 ne grand ave
portland, or 97232
[email protected]<mailto:[email protected]>
503.797.1771
metro | making a great place
www.oregonmetro.gov
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel