Thanks for the heads up, maybe I'll just have to live with it and be more careful...
On Saturday, 29 March 2014 11:04:56 UTC-4, Stefan Karpinski wrote: > > That's not a good idea – or at least it's bound to cause you some nasty > problems. There is a lot of indexing code in Base (and probably elsewhere > too) that depends in individual Ints being iterable like this. I'm not a > huge fan of it personally, but it seems be pretty handy when trying to > write generic multidimensional array code – the idea being that a scalar > behaves like a zero-dimensional tensor. In any case, it's not a thing that > can be changed by itself without also changing a lot of other code that > relies on the current behavior. > > On Mar 29, 2014, at 10:25 AM, Tom Lee <ma...@tomlee.id.au <javascript:>> > wrote: > > I've only been using Julia a few weeks and typos of this sort must have > cost me several hours of debugging in total. You have given me an idea > though, I think I try to find the method in Base for iteration over an > integer and edit it myself to make it raise an error. > > Cheers, > Tom > > On Saturday, 29 March 2014 08:29:22 UTC-4, andrew cooke wrote: >> >> >> sorry, i wasn't clear. >> >> Base defines the methods necessary for it for iteration "over" an >> integer. >> >> julia> for i in 8 >> print(i) >> end >> 8 >> >> i am suggesting this is not a good idea. >> >> andrew >> >> >> >> On Saturday, 29 March 2014 00:42:35 UTC-3, Leah Hanson wrote: >>> >>> You can make any type iterable (by defining start, next, and done); you >>> could, if you wanted, make Int/Integer/whatever iterable. Making an Int >>> literal a syntax error here would create inconsistent behavior when someone >>> (inevitably) decides to iterate over Ints for some reason. >>> >>> I assume you got a NoMethod error about start? >>> >>> -- Leah >>> >>> >>> On Fri, Mar 28, 2014 at 8:19 PM, andrew cooke <and...@acooke.org> wrote: >>> >>>> >>>> maybe there's a good reason for this (i suspect there is, but i'm not >>>> seeing it right now). but if there isn't, removing it might save some >>>> poor >>>> typist or confused newbie from a frustrated debugging session. >>>> >>>> the problem is that >>>> >>>> for i in 8 >>>> ... >>>> end >>>> >>>> isn't a syntax error (when what was meant was the range 1:8) >>>> >>>> cheers, >>>> andrew >>>> >>> >>>