Oh yikes. That's not good at all. Python has the good behavior too.
> On Jul 3, 2014, at 10:22 AM, John Myles White <[email protected]> > wrote: > > Sadly, R does not. 1:0 expands to c(1, 0). This is something that has burned > a lot of people in my experience. I imagine this is inherited from S. > > — John > >> On Jul 3, 2014, at 2:05 AM, Tobias Knopp <[email protected]> wrote: >> >> Just as a side note (I entirely agree with Stefan), Matlab behaves the same >> as Julia: >> >> >> 3:1 >> >> ans = >> >> Empty matrix: 1-by-0 >> >> >> Am Donnerstag, 3. Juli 2014 03:38:32 UTC+2 schrieb Stefan Karpinski: >>> >>> It changes the meaning of a:b in a capricious way based on their values, >>> which, while often appealing for the immediate situation – and thus rampant >>> in dynamic languages – is almost always terrible for writing predictable, >>> reliable code. >>> >>> >>> On Wed, Jul 2, 2014 at 1:07 PM, Jay Kickliter <[email protected]> wrote: >>>> I assume that when I wake up at 5 AM to finish some DSP code. Really, it >>>> was just a stupid mistake. From a non-programmer's perspective (me), it >>>> seemed like it should have work. If you think that would be dangerous, >>>> I'll take your word for it. >>>> >>>> >>>>> On Wednesday, July 2, 2014 8:26:10 AM UTC-6, Stefan Karpinski wrote: >>>>> Why would one assume that the default step size is -1 when the start is >>>>> bigger than the stop? The documentation for ranges clearly says that the >>>>> default step size is 1 unconditionally, not that it is sign(stop-start). >>>>> That would, by the way, be a very dangerous behavior. Perhaps a sidebar >>>>> on the colon syntax is warranted in the manual control flow section on >>>>> for loops, including examples of empty ranges and ranges that count >>>>> downwards. >>>>> >>>>> >>>>>> On Wed, Jul 2, 2014 at 9:53 AM, Jay Kickliter <[email protected]> >>>>>> wrote: >>>>>> I just realized that it works if I rewrite the range as 10:-1:1. It >>>>>> seems to me that either big:small should work with a default step size >>>>>> of -1, or the documentation needs a note. >>>>>> >>>>>> >>>>>>> On Wednesday, July 2, 2014 7:32:10 AM UTC-6, Jay Kickliter wrote: >>>>>>> Are they meant to work? I could only find one meaning of them not >>>>>>> working (issue 5778). >>>>>>> >>>>>>> Here's an example: >>>>>>> >>>>>>> julia> for i = 1:10 >>>>>>> println(i) >>>>>>> end >>>>>>> 1 >>>>>>> 2 >>>>>>> 3 >>>>>>> 4 >>>>>>> 5 >>>>>>> 6 >>>>>>> 7 >>>>>>> 8 >>>>>>> 9 >>>>>>> 10 >>>>>>> >>>>>>> julia> for i = 10:1 >>>>>>> println(i) >>>>>>> end >>>>>>> >>>>>>> julia> >
