[Rd] Possible repeat{} / break function bug in R 3.4.1
Martin Maechler
maechler at stat.math.ethz.ch
Wed Aug 23 09:17:24 CEST 2017
>>>>> Martin Maechler <maechler at stat.math.ethz.ch>
>>>>> on Wed, 23 Aug 2017 09:10:20 +0200 writes:
>>>>> Peter Bosa <Peter.Bosa at oregonmetro.gov>
>>>>> on Tue, 22 Aug 2017 14:39:50 +0000 writes:
>> 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.
>> 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?
> Thank you, Peter!
> I can confirm what you are seeing (on Linux) in R version 3.4.0,
> 3.4.1, and "R devel", and also that this had worked w/o a
> problem in earlier versions of R, where I've looked at
> R version 3.3.3 and 3.2.5.
> I do think this is a bug, but it was not known till now.
> For ease of use, I attach the two R files to easily reproduce.
> Note I use writeLines() instead of print() as its output is "nicer".
> Best regards,
> Martin Maechler, ETH Zurich
Trying again with the two attachment. Yes, I of all people (!!)
should know that they must have an allowed MIME type; in this
case text/plain !
Martin
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: breakTest.R
URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20170823/9ee1b2d7/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: break-source_R341.R
URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20170823/9ee1b2d7/attachment-0001.ksh>
More information about the R-devel
mailing list